我正在使用HttpURLConnection类从eclipse连接到外部Web服务,然后我收到错误消息“Connection Refused”
MemoryStream
但是,如果我尝试从浏览器连接到同一站点,我可以从服务获得响应。如果有解决方法,你能告诉我吗?
答案 0 :(得分:0)
默认情况下,HttpURLConnection
类不允许localhost
作为主机名。您需要定义允许localhost
的自定义主机名验证程序。您可以将此代码放入您打算使用static
的类顶部的HttpURLConnection
块中:
public final class YourClassName {
static {
//for localhost testing only
javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(
new javax.net.ssl.HostnameVerifier(){
public boolean verify(String hostname,
javax.net.ssl.SSLSession sslSession) {
if (hostname.equals("localhost")) {
return true;
}
return false;
}
});
}
// use HttpURLConnection here ...
}
答案 1 :(得分:0)
请找到工作代码,
PROXY_SERVER设置为有效的代理服务器和我正在使用的http的端口是8080
proxy = new Proxy(Proxy.Type.HTTP,new InetSocketAddress(PROXY_SERVER,PROXY_PORT));
当你建立连接时,将代理作为参数传递。
urlConnection =(HttpURLConnection)((新URL(URI).openConnection(proxy)));