Java实现发送短信
Java实现发送短信的方式是引入第三方工具,简单的实现方式是注册一个中国网建短信通的账号,新建账号的时候会附带赠送5条免费短信,彩信 ,之后想要再使用就得充值了。
网建短信通网址:http://www.smschinese.cn/default.shtml
点进用户注册进行注册,注册后可获得发送短信用的参数Uid和Key
点进API接口,可以获取SMS短信通API下行接口参数
JAVA调用
先在API接口 JAVA调用中找到下面这三个jar包,然后引入所创建的项目中。
程序
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 SendMessageClass {
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", "usrname"),//本站用户名
new NameValuePair("Key", "d41d8cd98f00b204e980"), //注册时填写的接口秘钥(可到用户平台修改接口秘钥)
new NameValuePair("smsMob", "10086"),//目的手机号码(多个手机号请用半角逗号隔开)
new NameValuePair("smsText", "Hello! I am HSX. Nice to meet you!") };//短信内容,最多支持400个字,普通短信70个字/条,长短信64个字/条计费
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();
}
}
发送成功,打印返回消息
statusCode:200
Cache-Control: no-cache
Content-Length: 1
Content-Type: text/html
Expires: Tue, 07 Apr 2020 11:11:28 GMT
Server: Microsoft-IIS/7.5
Set-Cookie: CHNET=Temp%5Fusername=20204819112812765; expires=Tue, 03-Jan-2023 11:11:28 GMT; path=/
Set-Cookie: ASPSESSIONIDAATRBARS=DIPNJLFCFHKMJPMCHGGEJGJG; path=/
X-Powered-By: ASP.NET
Date: Wed, 08 Apr 2020 11:11:28 GMT
1
接收到的短信截图