在这里,我有一些用于在 http 请求上连接到 socks4 的代码:
HttpClient cli = getNewHttpClient();
int port = onionProxyManager.getIPv4LocalHostSocksPort();
InetSocketAddress socksaddr = new InetSocketAddress("127.0.0.1", port);
HttpClientContext context = HttpClientContext.create();
context.setAttribute("socks.address", socksaddr);
//http://wikitjerrta4qgz4.onion/
//https://api.duckduckgo.com/?q=whats+my+ip&format=json
HttpGet httpGet = new HttpGet("https://api.duckduckgo.com/?q=whats+my+ip&format=json");
HttpResponse httpResponse = cli.execute(httpGet, context);
HttpEntity httpEntity = httpResponse.getEntity();
InputStream httpResponseStream = httpEntity.getContent();
BufferedReader httpResponseReader = new BufferedReader(
new InputStreamReader(httpResponseStream, "iso-8859-1"), 8);
String line = null;
while ((line = httpResponseReader.readLine()) != null) {
System.out.println(line);
}
httpResponseStream.close();
我想要一个 Webview,它通过 localhost:port 的这个 socks4 代理连接到所有请求。