利用Java发送手机短信(!=短信轰炸)
不知道你们收到验证码的时候,会不会注意到接受到的对方号码基本都是106*********一串开头的号码,其实这是基于发送到第三方API,第三方接受信息处理并发送到目的用户手机里的一个操作!(其实之前我用过爬虫+网建做过一件很愚蠢的事情,具体就不说了。开车了。。。)
以下*号是注意要点。
那么,这是怎么实现的呢 ,详情请见:www.webchinese.com.cn/user/
做项目之前,你首选要准备好3件事情
第一:准备好三个包
commons-codec-1.4.jar
commons-httpclient-3.1.jar
commons-logging-1.1.1.jar
第二:你要去www.webchinese.com.cn/user/网建注册一个用户名和密码。
第三:具备Http通信协议基本知识。
代码示例:
package com.cn.mybatis.test;
import java.io.IOException;
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 Test3 {
public static void main(String[] args) throws Exception {
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://sms.webchinese.cn/web_api/");
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");// 在头文件中设置转码
NameValuePair[] data = {
new NameValuePair("Uid", "qq2450759503"), // 注册的用户名
new NameValuePair("Key", "6e6105d6ac00786e0b7d"), // 注册成功后,登录网站使用的密钥
new NameValuePair("smsMob", "150********"), // 手机号码
new NameValuePair("smsText", "广州南洋理工职业学院欢迎您") };//设置短信内容
post.setRequestBody(data);
client.executeMethod(post);
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:" + statusCode); //statusCode=200表示请示成功!
for (Header h : headers) {
System.out.println(h.toString());
}
String result = new String(post.getResponseBodyAsString().getBytes("gbk")); //设置编码格式
System.out.println(result);
post.releaseConnection();
}
}
注意***** :*Uid 是你注册的用户名
*Key是你的密钥,不是你的登录密码
*用户手机号码
* smsText 短信内容
*发送测试短信请勿输入:短信测试等词语,请直接提交您要发送的短信内容;
*接口发送短信时请在内容后加签名:【XX公司或XX网名称】,否者会被屏蔽。
*短信签名可在用户平台平台上设置,也可以在短信内容后,直接加入。
*******如果是验证码会秒到,如果是文字信息。API那边会审核,一般5分钟内如果收不到,那么信息应该被拦截了!
发送成功返回数据:
statusCode:200
Cache-Control: no-cache
Content-Length: 1
Content-Type: text/html
Expires: Sun, 03 Dec 2017 09:32:56 GMT
Server: Microsoft-IIS/7.5
Set-Cookie: CHNET=Temp%5Fusername=201712417325727965; expires=Sun, 30-Aug-2020 09:32:56 GMT; path=/
Set-Cookie: ASPSESSIONIDCQAQSBDB=BEGJCEDCAFLAIHEIAFIGFBPF; path=/
X-Powered-By: ASP.NET
Date: Mon, 04 Dec 2017 09:32:56 GMT
1
差点忘了。还有一个要修改的内容是短信签名,这是在你自己申请的账号里面设置
这里我的手机收到的短信
如果你不想用UTF-8的话或者其他的编码的话 那么代码需要稍微修改一下!
GBK编码发送接口地址:
http://gbk.api.smschinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888
UTF-8编码发送接口地址:
http://utf8.api.smschinese.cn/?Uid=本站用户名&Key=接口安全秘钥&smsMob=手机号码&smsText=验证码:8888
获取短信数量接口地址(UTF8):
http://www.smschinese.cn/web_api/SMS/?Action=SMS_Num&Uid=本站用户名&Key=接口安全秘钥
获取短信数量接口地址(GBK):
http://www.smschinese.cn/web_api/SMS/GBK/?Action=SMS_Num&Uid=本站用户名&Key=接口安全秘钥
是不是感觉很神奇,拿起你代码,赶紧撸起吧,给你的心上人编写一段爱的宣言,给您的客户编写一段祝福语,给你的父母编写一段感恩,
也可以恶搞您的朋友,基友。也可以应用于项目之中。但是注意免费短息只有5条哦。
梦想被咸鱼吃了如果您觉得写的好久给点个赞吧,如果您有更好的方法欢迎下发留言交流!!! 共同进步。