我将通过java发送短信。问题是短信网关要求我以这种格式发送
http://push1.maccesssmspush.com/servlet/com.aclwireless.pushconnectivity.listen
ers.TextListener?userId=xxxxx&pass=xxxx&appid=xxxx&subappid=xxxx&msgtyp
e=1&contenttype=1&selfid=true&to=9810790590,9810549717&from=ACL&dlrre
q=true&text=This+is+a+test+msg+from+ACL&alert=
如何从java应用程序调用它的问题是可能还是需要特殊的库?它是否使用HttpURLConnection将完成这项工作?谢谢。
我在下面做的示例代码是正确的。
URL sendSms1 = new URL("http://push1.maccesssmspush.com/servlet/com.aclwireless.pushconnectivity.listen
ers.TextListener?userId=xxxxx&pass=xxxx&appid=xxxx&subappid=xxxx&msgtyp
e=1&contenttype=1&selfid=true&to=9810790590,9810549717&from=ACL&dlrre
q=true&text=This+is+a+test+msg+from+ACL&alert=");
URLConnection smsConn1 =
sendSms1.openConnection();
答案 0 :(得分:1)
这只是一个HTTP调用,你不需要任何特殊的Java(或任何现代语言,我期待)。只需根据需要构建字符串*,然后向该URL发出HTTP请求。
如果您需要了解如何使用Java执行请求部分的基础知识,请查看Sun教程Reading from and Writing to a URLConnection。这使用内置类,我敢肯定有几十个库以时髦和/或方便的方式处理连接,所以如果你熟悉它,请务必使用其中一个。
*可能没有发生的一个潜在问题 - 您的查询字符串参数必须是URL编码的。因此,+
参数中的text
字符是编码空格(在URL中具有不同的含义)。同样,如果您想在其中一个参数中发送?
字符,则必须显示为%3F
。有关如何安全地构建URL字符串的示例,请查看HTTP URL Address Encoding in Java的已接受答案。
答案 1 :(得分:0)
它看起来像一个简单的GET请求,您可以使用Apache HttpClient libarary来执行这样的请求。请查看Vogella的教程:http://www.vogella.de/articles/ApacheHttpClient/article.html,了解示例源代码和解释。
答案 2 :(得分:0)
您可以尝试使用java.net.URL库。
像这样// at this before you need to generate the urlString as "http://push1.maccesssmspush.com/servlet/com.aclwireless.pushconnectivity.listen
ers.TextListener?userId=xxxxx&pass=xxxx&appid=xxxx&subappid=xxxx&msgtyp
e=1&contenttype=1&selfid=true&to=9810790590,9810549717&from=ACL&dlrre
q=true&text=This+is+a+test+msg+from+ACL&alert="
URL url = new URL(urlString);
// send sms
URLConnection urlConnection = url.openConnection();// open the url
// and you, also can get the feedback if you want
BufferedReader br = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream()));
答案 3 :(得分:-2)
URL url = new URL("http://smscountry.com/SMSCwebservice.asp");
HttpURLConnection urlconnection = (HttpURLConnection) url.openConnection();
<强> [编辑] 强>
urlconnection.setRequestMethod("POST");
urlconnection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
urlconnection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(urlconnection.getOutputStream());
out.write(postData);
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(urlconnection.getInputStream()));
String decodedString;
while ((decodedString = in.readLine()) != null) {
retval += decodedString;
}