200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Java实现发送短信的例子 - 使用【SMS短信平台】

Java实现发送短信的例子 - 使用【SMS短信平台】

时间:2020-01-12 19:15:07

相关推荐

Java实现发送短信的例子 - 使用【SMS短信平台】

转自:/qq_26641781/article/details/78134241

我这里用到的是中国网建提供的SMS短信平台,在实现发送短信之前,需要在SMS短信平台上申请账号,然后用这个账号给我们的手机发短信。

这是SMS短信平台给出其接口的java调用,除此之外,还有ASP,C#,PHP等调用,详情请点击进入查看:

import java.io.UnsupportedEncodingException;import mons.httpclient.Header;import mons.httpclient.HttpClient;import mons.httpclient.NameValuePair;import mons.httpclient.methods.PostMethod;public class SendMsg_webchinese {public static void main(String[] args)throws Exception{HttpClient client = new HttpClient();PostMethod post = new PostMethod("http://gbk."); post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码NameValuePair[] data ={ new NameValuePair("Uid", "本站用户名"),new NameValuePair("Key", "接口安全秘钥"),new NameValuePair("smsMob","手机号码"),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();}}

发送短信后,会有返回值,不同的返回值表示不同的结果:

在使用api之前,需要导入三个jar包,下载地址平台也给出来了,可以在平台上直接下载:

commons-logging-1.1.1.jarcommons-httpclient-3.1.jarcommons-codec-1.4.jar

我申请了一个账号,平台给每一个新账号5条免费的短信服务,对api进行了测试。

package com.test;import mons.httpclient.Header;import mons.httpclient.HttpClient;import mons.httpclient.NameValuePair;import mons.httpclient.methods.PostMethod;public class SendMessage {public static void main(String[] args) throws Exception {HttpClient client = new HttpClient();PostMethod post = new PostMethod("http://gbk.");post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码NameValuePair[] data = { new NameValuePair("Uid", "92*******@"),new NameValuePair("Key", "886a69db67f997d28fbc"),new NameValuePair("smsMob", "186********"), 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,说明短信发送成功:

手机接收:

可以看到,我的手机也接收到了短信。

注:908765为先前设置的短信签名:

版权声明:本文为博主原创文章,未经博主允许。 /qq_26641781/article/details/78134241

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。