- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试根据 How do a send an HTTPS request through a proxy in Java? 使用代理访问 https 网页
但是我遇到了一个奇怪的问题:HttpsURLConnection 忽略了 setSSLSocketFactory 方法。这是我的代码:
HttpsURLConnection connection = (HttpsURLConnection) new URL("https://www.google.com").openConnection();
connection.setSSLSocketFactory(new SSLTunnelSocketFactory("127.0.0.1", 8089));
这是 SSLTunnelSocketFactory 类:
class SSLTunnelSocketFactory extends SSLSocketFactory {
public SSLTunnelSocketFactory(String proxyIpAddress, int proxyPort) {
System.out.println("calling SSLTunnelSocketFactory");
}
@Override
public Socket createSocket(Socket s, String host, int port, boolean autoClose) throws IOException, UnknownHostException {
System.out.println("calling createSocket");
}
@Override
public Socket createSocket(String s, int i) throws IOException,
UnknownHostException {
throw new NotImplementedException();
}
@Override
public Socket createSocket(String s, int i, InetAddress inetAddress,
int i2) throws IOException,
UnknownHostException {
throw new NotImplementedException();
}
@Override
public Socket createSocket(InetAddress inetAddress,
int i) throws IOException {
throw new NotImplementedException();
}
@Override
public Socket createSocket(InetAddress inetAddress, int i,
InetAddress inetAddress2,
int i2) throws IOException {
throw new NotImplementedException();
}
@Override
public String[] getDefaultCipherSuites() {
throw new NotImplementedException();
}
@Override
public String[] getSupportedCipherSuites() {
throw new NotImplementedException();
}
}
这是输出:
calling SSLTunnelSocketFactory
Exception in thread "main" java.lang.RuntimeException: java.net.ConnectException: Connection timed out: connect
可以看到“calling createSocket”并没有打印出来,出现了超时异常。这意味着 setSSLSocketFactory 方法被忽略,这是不应该发生的。
你能帮我解决这个问题吗?
最佳答案
看来你需要设置 连接.setDoInput(true); 连接.setDoOutput(true);
引用这个解决方案-https://community.oracle.com/thread/1536034?start=0&tstart=0
关于HttpsURLConnection 忽略 setSSLSocketFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25707190/
我正在尝试根据 How do a send an HTTPS request through a proxy in Java? 使用代理访问 https 网页 但是我遇到了一个奇怪的问题:HttpsU
我已经按照 this question 中的说明创建了自己的 SSLSocketFactory private SSLSocketFactory newSslSocketFactory() {
我正在使用 OkHttp 3.4.0-RC1。我正在尝试编写一个通过 TLSv1.2 连接 Android 4.2.2/API 17 设备的 Web 服务。我在这篇文章的底部看到了答案Android
我正在测试javax.net.ssl.HttpsURLConnection。因为程序正在发出 HTTPS 请求,所以我认为我必须执行 setSSLSocketFactory 才能使请求正常工作。 但是
我是一名优秀的程序员,十分优秀!