javasocket上的绑定。openconnection()
JRE 8\
如何选择将从中触发此请求的IP地址?服务器有多个绑定到它的IP地址和多个接口。我想为这个请求使用一个特定的
我有httpsurlconnection
URL url = new Url("x");
HttpsUrlConnection connection = (HttpsUrlConnection) url.openConnection();
...
connection.setSSLSocketFactory(SSLSocketFactory);
connection.connect();
我在SSLSocketFactory中重写了所有createSocket,并将源ip绑定到我选择的对象。问题是当我:
URL url = new Url("x");
HttpsUrlConnection connection = (HttpsUrlConnection) url.openConnection();
...
connection.setSSLSocketFactory(SSLSocketFactory);
connection.connect();
我看到socket已经创建,我的sslsocketfactory使用createSocket创建了socket。我可以绑定到其他ip地址,但我想在打开连接时覆盖源ip地址。我在哪里可以覆盖它
# 1 楼答案
使用
用类似于
不要使用super。createSocket(),因为它将抛出SocketException(“未实现未连接的套接字”),这将在HttpsClient中捕获,并使用NetworkClient使用java创建套接字。网具有随机源ip地址的套接字