本文實例為大家分享了JAVA的短信驗證碼api調用代碼,供大家參考,具體內容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import net.sf.json.JSONObject; /** *短信API服務調用示例代碼 - 聚合數據 *在線接口文檔:http://www.juhe.cn/docs/54 **/ public class JuheDemo { public static final String DEF_CHATSET = "UTF-8" ; public static final int DEF_CONN_TIMEOUT = 30000 ; public static final int DEF_READ_TIMEOUT = 30000 ; public static String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36" ; //配置您申請的KEY public static final String APPKEY = "*************************" ; //1.屏蔽詞檢查測 public static void getRequest1(){ String result = null ; String url = "http://v.juhe.cn/sms/black" ;//請求接口地址 Map params = new HashMap(); //請求參數 params.put( "word" , "" ); //需要檢測的短信內容,需要UTF8 URLENCODE params.put( "key" ,APPKEY); //應用APPKEY(應用詳細頁查詢) try { result =net(url, params, "GET" ); JSONObject object = JSONObject.fromObject(result); if (object.getInt( "error_code" )== 0 ){ System.out.println(object.get( "result" )); } else { System.out.println(object.get( "error_code" )+ ":" +object.get( "reason" )); } } catch (Exception e) { e.printStackTrace(); } } //2.發送短信 public static void getRequest2(){ String result = null ; String url = "http://v.juhe.cn/sms/send" ;//請求接口地址 Map params = new HashMap(); //請求參數 params.put( "mobile" , "" ); //接收短信的手機號碼 params.put( "tpl_id" , "" ); //短信模板ID,請參考個人中心短信模板設置 params.put( "tpl_value" , "" ); //變量名和變量值對。如果你的變量名或者變量值中帶有#&=中的任意一個特殊符號,請先分別進行urlencode編碼后再傳遞,<a href="http://www.juhe.cn/news/index/id/50" target="_blank">詳細說明></a> params.put( "key" ,APPKEY); //應用APPKEY(應用詳細頁查詢) params.put( "dtype" , "" ); //返回數據的格式,xml或json,默認json try { result =net(url, params, "GET" ); JSONObject object = JSONObject.fromObject(result); if (object.getInt( "error_code" )== 0 ){ System.out.println(object.get( "result" )); } else { System.out.println(object.get( "error_code" )+ ":" +object.get( "reason" )); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { } /** * * @param strUrl 請求地址 * @param params 請求參數 * @param method 請求方法 * @return 網絡請求字符串 * @throws Exception */ public static String net(String strUrl, Map params,String method) throws Exception { HttpURLConnection conn = null ; BufferedReader reader = null ; String rs = null ; try { StringBuffer sb = new StringBuffer(); if (method== null || method.equals( "GET" )){ strUrl = strUrl+ "?" +urlencode(params); } URL url = new URL(strUrl); conn = (HttpURLConnection) url.openConnection(); if (method== null || method.equals( "GET" )){ conn.setRequestMethod( "GET" ); } else { conn.setRequestMethod( "POST" ); conn.setDoOutput( true ); } conn.setRequestProperty( "User-agent" , userAgent); conn.setUseCaches( false ); conn.setConnectTimeout(DEF_CONN_TIMEOUT); conn.setReadTimeout(DEF_READ_TIMEOUT); conn.setInstanceFollowRedirects( false ); conn.connect(); if (params!= null && method.equals( "POST" )) { try { DataOutputStream out = new DataOutputStream(conn.getOutputStream()); out.writeBytes(urlencode(params)); } catch (Exception e) { // TODO: handle exception } } InputStream is = conn.getInputStream(); reader = new BufferedReader( new InputStreamReader(is, DEF_CHATSET)); String strRead = null ; while ((strRead = reader.readLine()) != null ) { sb.append(strRead); } rs = sb.toString(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null ) { reader.close(); } if (conn != null ) { conn.disconnect(); } } return rs; } //將map型轉為請求參數型 public static String urlencode(Map<String,Object>data) { StringBuilder sb = new StringBuilder(); for (Map.Entryi : data.entrySet()) { try { sb.append(i.getKey()).append( "=" ).append(URLEncoder.encode(i.getValue()+ "" , "UTF-8" )).append( "&" ); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } return sb.toString(); } } |
以上就是本文的全部內容,希望對大家的學習有所幫助。