0

嗨,我正在通过简单的 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());
}
4

0 回答 0