您好我通过简单的HTTP调用在另一台主机上调用服务,方法是传递一些如下所示的值。
http://sbdmn.sbdmnn.col.lk/Submit?UserId=USER1&PasswordPASS1&SessionID=123456789&PhoneNumber=+9412345678967&MessageText=AMessage
当我通过以下类调用时,它从另一端提供错误。 相同的URL与浏览器一起正常工作。
此服务有多个调用而不是Submit,它对所有其他服务都运行良好。 我无法从另一端得到实际的错误/原因。
我试过了 URLEncoder,代理/无代理等等。那么,我还有什么需要尝试的呢?
我的代码:
try{
URL url = new URL("http://sbdmn.sbdmnn.col.lk/Submit?UserId=USER1&PasswordPASS1&SessionID=123456789&PhoneNumber=+9412345678967&MessageText=AMessage");
Proxy proxy_server = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("ProxyServerIP", 1234));
Authenticator.setDefault(new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return (new PasswordAuthentication("proxyUN","proxyPWD".toCharArray()));
}
});
URLConnection conn = url.openConnection(proxy_server);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setDoInput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.flush();
BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) {
responseStr = line;
System.out.println(responseStr);
}
}
catch (Exception e) {
System.out.println(e.toString());
}