gpt4 book ai didi

带代理的Java多线程post方法(使用Jsoup)

转载 作者:行者123 更新时间:2023-11-30 11:10:26 25 4
gpt4 key购买 nike

您好,我需要知道如何在多线程应用程序中使用 Jsoup 代理。当我尝试这个时:

System.setProperty("http.proxyHost", myproxy); 
System.setProperty("http.proxyPort", myport);

它为我所做的所有威胁设置了代理,我需要每个威胁都使用自己的代理。这个 GET 方法效果很好:

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("addres", port));
URL url = new URL("address");
URLConnection connect = url.openConnection(proxy);

BufferedReader br = new BufferedReader(new InputStreamReader(connect.getInputStream()));

String tmp;
StringBuilder sb = new StringBuilder();
while((tmp=br.readLine())!=null) sb.append(tmp);

Document c = Jsoup.parse(sb.toString());

但我不知道如何在 Jsoup 的每个威胁中使用代理发送 POST 方法。有人可以帮助我吗?

最佳答案

来自JSoup docs :

jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jquery-like methods.

因此,Jsoup 基本上是为提取 数据而创建的。但是,仍然可以执行 POST 请求,但不像 GET 请求那样直接。

ocument doc = Jsoup.connect("http://www.facebook.com")
.data("field1", "value2")
.data("field2", "value2")
.userAgent("Mozilla") // Optional
.post();

为了使用代理解决这个问题,可以使用以下方法:

System.setProperty("http.proxyHost", "<proxy-host>");
System.setProperty("http.proxyPort", "<proxy-port>");

或者,对于 https 等价物:

System.setProperty("https.proxyHost", "<proxy-host>");
System.setProperty("https.proxyPort", "<proxy-port>");

StackOverflow 上还有很多关于此事的其他问题。查看:

关于带代理的Java多线程post方法(使用Jsoup),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27686964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com