您的位置:首页 > 编程语言 > Java开发

Java使用中国网建发送短信验证码

2018-02-27 22:35 405 查看

一.注册,登录以及注意事项。

1.1 中国网建网址:http://www.smschinese.cn
1.2 注册时用户名,以及姓名都可以随便写,邮箱只会验证存在与否,不会发验证码验证,手机号填自己的(接收自己的初始密码)。
1.3 登录到用户首页,有快捷菜单,发送短信;发送彩信;Excel短信,先点击发送短信,一定要先设置签名(否则无法发送短信)。
1.4 在旁边的菜单中有修改短信密钥,记录下短信密钥。

二.Java示例。

2.1 接口地址
GBK编码发送接口地址: http://gbk.api.smschinese.cn/?Uid=本站用户名&Key=短信密钥&smsMob=手机号码&smsText=短信内容  UTF-8编码发送接口地址: http://utf8.api.smschinese.cn/?Uid=本站用户名&Key=短信密钥&smsMob=手机号码&smsText=短信内容 获取短信数量接口地址(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=短信密钥 2.2 短信发送后返回值以及意义
-1(没有该账户);-2(短信密钥错误);-3(短信数量不足);-4(手机号不正确);-6(IP被限制);-14(短信内容出现非法字符);-21(MD5接口密钥加密不正确);-41(手机号为空);-42(短信内容为空);-51(短信签名格式不正确
接口签名格式为:【签名内容】)。
2.3 Java代码
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;

public class SendMsg {

private static final String SERVER_URL = "http://utf8.api.smschinese.cn";
private static final String USERNAME = "你的用户名";
private static final String KEY = "短信密钥";

public static void main(String[] args) throws Exception {
String phone = "被发送的短信的手机号";
String smsText = "短信发送的内容";
String result = SendMessage(phone, smsText);
int allResult = Integer.valueOf(result).intValue();
if (allResult > 0) {
System.out.println("发送成功");
} else {
System.out.println("发送失败");
}
}
public static String SendMessage(String phone, String smsText) throws HttpException, IOException {
HttpClient client = new HttpClient();
PostMethod post = new PostMethod(SERVER_URL);
post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");// 在头文件中设置转码
NameValuePair[] data = { new NameValuePair("Uid", USERNAME), new NameValuePair("Key", KEY),
new NameValuePair("smsMob", phone), new NameValuePair("smsText", smsText) };
post.setRequestBody(data);
client.executeMethod(post);
// 请求头信息
Header[] headers = post.getResponseHeaders();
// 输出请求头信息
/*
* for (Header h : headers) { System.out.println(h.toString()); }
*/
// http状态码
int statusCode = post.getStatusCode();
System.out.println("statusCode:" + statusCode);
String result = new String(post.getResponseBodyAsString().getBytes("utf-8"));
System.out.println(result); // 打印返回消息状态
post.releaseConnection();
return result;
}
}

若是哪里有理解错误的或写错的地方,望各位读者评论或者私信指正,不胜感激。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: