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
|
package com.cocsms.smsbao.buzz.sms.tools; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class SmsSample { public static void main(String[] args) { String testUsername = "userame" ; //在短信宝注册的用户名 String testPassword = "password" ; //在短信宝注册的密码 String testPhone = "13000000000" ; String testContent = "【万千购】您的验证码是1234,5分钟内有效。若非本人操作请忽略此消息。" ; // 注意测试时,也请带上公司简称或网站签名,发送正规内容短信。千万不要发送无意义的内容:例如 测一下、您好。否则可能会收不到 StringBuffer httpArg = new StringBuffer(); httpArg.append( "u=" ).append(testUsername).append( "&" ); httpArg.append( "p=" ).append(md5(testPassword)).append( "&" ); httpArg.append( "m=" ).append(testPhone).append( "&" ); httpArg.append( "c=" ).append(encodeUrlString(testContent, "UTF-8" )); String result = request(httpUrl, httpArg.toString()); System.out.println(result); } public static String request(String httpUrl, String httpArg) { BufferedReader reader = null ; String result = null ; StringBuffer sbf = new StringBuffer(); httpUrl = httpUrl + "?" + httpArg; try { URL url = new URL(httpUrl); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod( "GET" ); connection.connect(); InputStream is = connection.getInputStream(); reader = new BufferedReader( new InputStreamReader(is, "UTF-8" )); String strRead = reader.readLine(); if (strRead != null ) { sbf.append(strRead); while ((strRead = reader.readLine()) != null ) { sbf.append( "\n" ); sbf.append(strRead); } } reader.close(); result = sbf.toString(); } catch (Exception e) { e.printStackTrace(); } return result; } public static String md5(String plainText) { StringBuffer buf = null ; try { MessageDigest md = MessageDigest.getInstance( "MD5" ); md.update(plainText.getBytes()); byte b[] = md.digest(); int i; buf = new StringBuffer( "" ); for ( int offset = 0 ; offset < b.length; offset++) { i = b[offset]; if (i < 0 ) i += 256 ; if (i < 16 ) buf.append( "0" ); buf.append(Integer.toHexString(i)); } } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return buf.toString(); } public static String encodeUrlString(String str, String charset) { String strret = null ; if (str == null ) return str; try { strret = java.net.URLEncoder.encode(str, charset); } catch (Exception e) { e.printStackTrace(); return null ; } return strret; } } |