Java发送短信
# 接口使用介绍
发送短信肯定需要使用第三方接口,Java本身是肯定不能直接发送短信的。第三方接口有很多,这里直接找个正规靠谱一点的学习一下
这里使用了中国网建(http://sms.webchinese.cn/) (opens new window)
打开网址后,点击立刻注册体验
# 获取短信密钥
注册完成后,查看红色的短信秘钥。点击修改短信秘钥
这里记好短信秘钥,当然也可以修改短信秘钥
# 使用短信API接口
在左侧点击短信API接口,或者直接输入http://sms.webchinese.cn/api.shtml (opens new window)
出现如下界面:
在下方找到Java的示例程序
# Java代码
package com.fz.http;
import java.io.IOException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
/**
* 类说明 :利用中国网建接口发送短信
* @author 作者:FangZheng
* @version 时间:2015-8-30 下午6:21:10
* 1、打开:http://sms.webchinese.cn/ 注册一个用户,默认用户是5条短信
* 2、打开api短信接口,找到修改短信秘钥菜单,找到自己的短信秘钥
* 3、使用api接口来发送短信,官方给的有java,php等各种语言的例子即可发送短信
*/
public class SendMsgTest {
public static void main(String[] args) throws HttpException, IOException {
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn");
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码
NameValuePair[] data ={ new NameValuePair("Uid", "zhangsan"),new NameValuePair("Key", "23825bbfbd73c539f05e"),new NameValuePair("smsMob","1307*******"),new NameValuePair("smsText","验证码:8888")};
post.setRequestBody(data);
client.executeMethod(post);
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:"+statusCode);
for(Header h : headers)
{
System.out.println(h.toString());
}
String result = new String(post.getResponseBodyAsString().getBytes("gbk"));
System.out.println(result); //打印返回消息状态
post.releaseConnection();
}
}
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
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
Java程序的运行依赖于3个jar包,在它的页面上直接点击下载即可。
最终程序运行成功,相应的手机号码上也收到了短信。
最后更新时间: 2022/7/23 10:17:11