。。。短信平台。。。。。? 400 报错
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder;
public class xioo {
public static void main(String[] args) throws IOException {
//发送内容
String content = "测试!";
String mobile= "15023564123";
// 创建StringBuffer对象用来操作字符串
StringBuffer sb = new StringBuffer("http://xxxxxxxxx/xxx/HTTPService/?");
// 向StringBuffer追加用户名
sb.append("uid=xxx");
// 向StringBuffer追加密码
sb.append("&pwd=xxxx");
// 向StringBuffer追加手机号码
sb.append("&address="+ mobile);
// 向StringBuffer追加消息内容转URL标准码
sb.append("&content="+URLEncoder.encode(content,"UTF-8"));
// 创建url对象
URL url = new URL(sb.toString());
// 打开url连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置url请求方式 ‘get’ 或者 ‘post’
connection.setRequestMethod("POST");
// 发送
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
// 返回发送结果
String inputline = in.readLine();
// 返回结果为 发送成功
System.out.println(inputline);
}
}
文档的api 说是返回值是一个Utf-8编码的字符串
这是返回的结果。。
Information%3a%e6%b6%88%e6%81%af%e5%8f%91%e9%80%81%e6%88%90%e5%8a%9f%ef%bc%8c%e8%af%b7%e6%9f%a5%e7%9c%8b%e4%ba%92%e5%8a%a8%e4%bf%a1%e7%ae%b1%ef%bc%81%09
我想知道上面这一串是什么....我怎么样判断这条信息是发送成功还是失败?
import java.io.UnsupportedEncodingException; import java.net.URLDecoder; public class Test { public static void main(String[] args) throws UnsupportedEncodingException { String src = "%3a%e6%b6%88%e6%81%af%e5%8f%91%e9%80%81%e6%88%90%e5%8a%9f%ef%bc%8c%e8%af%b7%e6%9f%a5%e7%9c%8b%e4%ba%92%e5%8a%a8%e4%bf%a1%e7%ae%b1%ef%bc%81%09"; String decoded = URLDecoder.decode(src, "UTF-8"); System.out.println(decoded); } }
解出来是“:消息发送成功,请查看互动信箱! ”
运行原理建议去网上好好查一些,这个问题在web开发中很常见。
ps:这个接口做的真偷工减料的,居然不用编码,而是直接返回文字描述的!
######谢谢你的回答...######这是哪里的短信服务啊,找他们提供商啊###### 短信平台接口成功失败都有相应的返回值,试一下北京硕达通,验证码5秒,三网合一,单价4分!请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是
http://115.28.172.169:8888/statusApi.aspx
如:
action=query&userid=12&account=账号&password=密码
<?xml version="1.0" encoding="utf-8" ?>
<returnsms>
<statusbox>
<mobile>15023239810</mobile>-------------对应的手机号码
<taskid>1212</taskid>-------------同一批任务ID
<status>10</status>---------状态报告----10:发送成功,20:发送失败
<receivetime>2011-12-02 22:12:11</receivetime>-------------接收时间
<errorcode>DELIVRD</errorcode>-上级网关返回值,不同网关返回值不同,仅作为参考
</statusbox>
<statusbox>
<mobile>15023239811</mobile>
<taskid>1212</taskid>
<status>20</status>
<receivetime>2011-12-02 22:12:11</receivetime>
<errorcode>2</errorcode>
</statusbox>
</returnsms>
######凌凯 就是短信平台
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。