我正在制作一个依赖于设置http.proxyPort和的Java应用程序http.proxyHost.有两个过程:一个是常规程序,另一个是代理.我有一个简单的套接字监听器http.proxyPort(我控制).这很简单
while (true) {
try {
Socket connection = server.accept();
Handler handler = new Handler(connection);
handler.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
所以每当"进程1"发出一个http请求时 - 就像
URL yahoo = new URL("http://www.google.ca/");
URLConnection yc = yahoo.openConnection();
System.out.println(yc.getClass().getName());
BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));
Run Code Online (Sandbox Code Playgroud)
它通过代理.现在如果客户端使用HTTPS协议怎么办?喜欢用https://google.ca吗?有一个属性https.proxyPort和https.proxyHost,但我从字面上一直试图个月(开启和关闭,这不是太重要),没有运气.我已经阅读了一堆线程(我会在最后列出一些,所以你知道我已经做了一些事情).
我迄今为止最接近的尝试:服务器
try {
System.setProperty("javax.net.ssl.keyStore", "test.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "2520xe");
SSLServerSocketFactory sslserversocketfactory =
(SSLServerSocketFactory) SSLServerSocketFactory.getDefault();
SSLServerSocket sslserversocket =
(SSLServerSocket) sslserversocketfactory.createServerSocket(9999);
System.out.println("Ready");
SSLSocket sslsocket = (SSLSocket) sslserversocket.accept();
InputStream …Run Code Online (Sandbox Code Playgroud)