我在从eclipse发送https请求时遇到问题。当我运行此代码时,它运行正常。
public class HttpConnectionTest extends TestCase{
@Test
public void testConnection() throws HttpException, IOException {
int statusCode = new HttpClient().executeMethod(new GetMethod("http://www.google.com"));
assertTrue(statusCode == HttpStatus.SC_OK);
}
}
但是当我为“https://www.google.com”运行相同的代码时,我会得到以下异常;
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:618)
at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:451)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:140)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:81)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:126)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:706)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:386)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
at adcWeb.HttpConnectionTest.testConnection(HttpConnectionTest.java:26)
我通过代理连接到互联网。我的网络设置为like this;我看到有人说禁用袜子但是eclipse不允许我取消选中袜子选项(我正在使用eclipse luna)
答案 0 :(得分:0)
我相信您在eclipse设置中配置的代理是针对插件和IDE相关的东西..
您必须在运行时在代码中设置代理,如下所示: