java调用短信api接口发送短信demo实例
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;
/**
* 发送短信验证码
* 申请地址:http://sms.webchinese.cn
* 需要的jar commons-httpclient-3.1.jar commons-logging-x.x.x.jar commons-codec-x.x.jar
* @author Admin
*
*/
public class SendMsg {
public static void main(String[] args) throws Exception {
String s ="961210";
HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://utf8.sms.webchinese.cn/");
post.addRequestHeader("Content-Type",
"application/x-www-form-urlencoded;charset=utf-8");// 在头文件中设置转码
NameValuePair[] data = { new NameValuePair("Uid", "z1780675810"), // 注册的用户名
new NameValuePair("Key", "5c52043e4c6deb16563d"), // 注册成功后,登录网站使用的密钥
new NameValuePair("smsMob", "要发送的手机号"), // 手机号码
new NameValuePair("smsText", "测试地址,欢迎使用本公司发送测试验证码为:"+698210+"请妥善保管") };//设置短信内容
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(
"utf-8"));
System.out.println(result);
post.releaseConnection();
}
}
注意签名一定要跟网站注册的时候一样 不然返回结果为-51 就是签名有问题
签名内容一定要放在短信文本里面!!