java发送短信--httpclient方式
post方式(这种方式比较普遍)
实现代码如下:
//发送短信post方式
public void sendMSGByPost(String phone) throws HttpException, IOException{
HttpClient client = new HttpClient();
PostMethod post = new PostMethod(URLSTR);
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码
NameValuePair[] data ={ //配置参数
new NameValuePair("username", USR),
new NameValuePair("password", PSD),
new NameValuePair("phone",phone),
new NameValuePair("message",MSG),
new NameValuePair("epid", EPID),
new NameValuePair("linkid",LINKID),
new NameValuePair("subcode",SUBCODE)
};
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();
}
以上方式比较固定,其实很多都是用这种方式,有兴趣的可以试试中国网建的:http://www.smschinese.cn/api.shtml(各种代码示例)
另外一种写法
HttpClient client = new HttpClient(new HttpClientParams(), new SimpleHttpConnectionManager(true));
GetMethod method = new GetMethod();
try {
URI base = new URI(url, false);
method.setURI(new URI(base, "HttpBatchSendSM", false));
method.setQueryString(new NameValuePair[] {
new NameValuePair("account", account),
new NameValuePair("pswd", pswd),
new NameValuePair("mobile", mobile),
new NameValuePair("needstatus", String.valueOf(needstatus)),
new NameValuePair("msg", msg),
new NameValuePair("extno", extno),
});
int result = client.executeMethod(method);
if (result == HttpStatus.SC_OK) {
InputStream in = method.getResponseBodyAsStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = in.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
return URLDecoder.decode(baos.toString(), "UTF-8");
} else {
throw new Exception("HTTP ERROR Status: " + method.getStatusCode() + ":" + method.getStatusText());
}
} finally {
method.releaseConnection();
}

浙公网安备 33010602011771号