日期:2014-05-18  浏览次数:20730 次

java 发送短信问题
我们现在在做一个电信的项目,需要一个发送短信的功能,电信提供网关之类的,我java这边要怎么写。。新手都没写过这类的代码。。。

------解决方案--------------------
http://www.sms.com.cn/Sms/api.php
------解决方案--------------------
http://sms.webchinese.cn/api.shtml


3.JAVA调用
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 SendMsg_webchinese {

public static void main(String[] args)throws Exception
{

HttpClient client = new HttpClient();
PostMethod post = new PostMethod("http://gbk.sms.webchinese.cn"); 
post.addRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=gbk");//在头文件中设置转码
NameValuePair[] data ={ new NameValuePair("Uid", "本站用户名"),new NameValuePair("Key", "接口安全密码"),new NameValuePair("smsMob","手机号码"),new NameValuePair("smsText","短信内容")};
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();

}

}

------解决方案--------------------
如果纯用java代码实现连接电信网关发送短信,是需要联系电信运营商相关人员索要接口和协议的,否则没法写,网上即时有相关代码也不一定准确,基本上网上能实现发短信的功能代码都是基于AT短信机(也叫短信猫)的。