在网上找了几个平台。发现发送短信请求的参数各不相同,肯定还有其他的短信平台第一种:整个信息包含在<END></END>这个标签体中,标签全部大写,包含用户名和密码
http://www.abc.com:8080/<END><COMMAND>S058</COMMAND><REGISTRYCODE>101100-TEST-3456</REGISTRYCODE><PWD>12</PWD><TIM></TIM><CONTENT>短信内容</CONTENT><SMSID>1</SMSID><MOBILE>13867507888</MOBILE><SMSID>2</SMSID><MOBILE></END>第二种:这种较为普遍 地址后传递对应的参数即可
http://http.abc.com/tx/?uid=用户账号&pwd=MD5密码&mobile=号码&content=内容第三种: 这种与第二种相同,只是对应的参数名不相同
http://hl.com.cn/sms/push_mt.jsp?cpid=BAIDU&cppwd=123456&phone=13811978407&spnumber=&msgcont=测试&extend=01234
我想问一下各位。这样的通用接口应该如何设计比较好。今后只要在配置文件中配置了地址和用户名与密码就可以正常使用。以上这几种情况对应的字段名各不相同
如账户名分别为REGISTRYCODE、uid、cpid.. 并且第一种与后面的写法也不相同。如何设计才能有良好的复用性呢?
http://www.abc.com:8080/<END><COMMAND>S058</COMMAND><REGISTRYCODE>101100-TEST-3456</REGISTRYCODE><PWD>12</PWD><TIM></TIM><CONTENT>短信内容</CONTENT><SMSID>1</SMSID><MOBILE>13867507888</MOBILE><SMSID>2</SMSID><MOBILE></END>第二种:这种较为普遍 地址后传递对应的参数即可
http://http.abc.com/tx/?uid=用户账号&pwd=MD5密码&mobile=号码&content=内容第三种: 这种与第二种相同,只是对应的参数名不相同
http://hl.com.cn/sms/push_mt.jsp?cpid=BAIDU&cppwd=123456&phone=13811978407&spnumber=&msgcont=测试&extend=01234
我想问一下各位。这样的通用接口应该如何设计比较好。今后只要在配置文件中配置了地址和用户名与密码就可以正常使用。以上这几种情况对应的字段名各不相同
如账户名分别为REGISTRYCODE、uid、cpid.. 并且第一种与后面的写法也不相同。如何设计才能有良好的复用性呢?
String url = "";
if(选择第一个){
url = "http://http.abc.com/tx/?uid=用户账号&pwd=MD5密码&mobile=号码&content=内容";
} else if (选择第二个){
url = "http://hl.com.cn/sms/push_mt.jsp?cpid=BAIDU&cppwd=123456&phone=13811978407&spnumber=&msgcont=测试&extend=01234";
} else if (选择第三个) {
url = "http://www.abc.com:8080/<END><COMMAND>S058</COMMAND><REGISTRYCODE>101100-TEST-3456</REGISTRYCODE><PWD>12</PWD><TIM></TIM><CONTENT>短信内容</CONTENT><SMSID>1</SMSID><MOBILE>13867507888</MOBILE><SMSID>2</SMSID><MOBILE></END>";
}
try {
URL url = new URL(smsUrl);
connectionData = url.openConnection();
connectionData.setConnectTimeout(1000);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(connectionData.getInputStream(),
"UTF-8"));
StringBuilder stringBuilder = new StringBuilder();
String line = null;
while ((line = bufferedReader.readLine()) != null)
stringBuilder.append(line); System.out.println(stringBuilder.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}