嗨,我正在通过简单的 HTTP 调用调用另一台主机中的服务,方法是传递一些如下所示的值。
http://sbdmn.sbdmnn.col.lk/Submit?UserId=USER1&PasswordPASS1&SessionID=123456789&PhoneNumber=+9412345678967&MessageText=AMessage
当我通过以下类调用时,它会从另一端提供错误。相同的 URL 在浏览器上工作正常。
有多次调用此服务而不是提交,它对所有其他人都很好。我无法从另一端得到实际的错误/原因。
我尝试了 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());
}