必威体育Betway必威体育官网
当前位置:首页 > IT技术

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

时间:2019-05-31 17:42:03来源:IT技术作者:seo实验室小编阅读:81次「手机版」
 

短信支付平台

转自: https://blog.csdn.net/qq_26641781/article/details/78134241

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

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

import java.io.UnsupportedEncodingException;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.namevaluepair;
import org.apache.commons.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.api.smschinese.cn"); 
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.jar
commons-httpclient-3.1.jar
commons-codec-1.4.jar

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

package com.test;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;

public class Sendmessage {
    public static void main(String[] args) throws Exception {

        HttpClient client = new HttpClient();
        PostMethod post = new PostMethod("http://gbk.api.smschinese.cn");
        post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码
        NameValuePair[] data = { new NameValuePair("Uid", "92*******@qq.com"),
                                 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为先前设置的短信签名: 

这里写图片描述

相关阅读

Java技术对网站建设有什么好处

  工程师为消费类设备开发了这种语言,并使其与当时适度的CPU兼容时保持了简单性。从那时起,这种面向对象的语言已用于创建简单到

JavaScript主要作用是什么呢

 JavaScript主要作用是什么呢?学习编程的同学对JavaScript并不陌生,JavaScript是前端技术中非常重要的内容,是网站搭建必不可少的

java.lang.UnsupportedClassVersionError

截图:                                                            错误日志: Exception in thr

Java之反射——类对象

学了一段时间Java了,但是还是很菜,看到反射这一节的时候,就有点厌烦,看不下去了,过了一段时间后我又翻了回来,因为要学习后面的,所以反射

Java 混淆器(obfuscate)

Java 混淆器就是给.class加密以防止反编译的工具 开源的  RetroGuard   http://www.retrologic.com/ IBM的  JAX    

分享到:

栏目导航

推荐阅读

热门阅读