在java中传递简单的HTTP调用时出错

时间:2013-09-02 12:19:24

标签: java http

您好我通过简单的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());
}

0 个答案:

没有答案