开发者社区> 问答> 正文

。。。短信平台。。。。。? 400 报错

。。。短信平台。。。。。? 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

我想知道上面这一串是什么....我怎么样判断这条信息是发送成功还是失败?   

展开
收起
爱吃鱼的程序员 2020-06-01 11:53:43 1086 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    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>

    ######

    凌凯    就是短信平台

    2020-06-01 11:53:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《云市场-友盟+智能认证U-Verify》 立即下载
阿里云云通信短信服务安全白皮书 立即下载
钉钉客户端自动化的应用 立即下载