2

我正在尝试使用 jsoup 登录网站(带有一些子系统的内联网页面),输入子系统,搜索内容并解析页面。

我可以登录,但是当我尝试访问子系统时,我收到 HTTP 错误 502。但是在浏览器中正常打开。

我认为这是代理(已经在java中设置)的一些问题。经过几次尝试后,我的登录被阻止,我收到 HTTP 错误 407(页面被阻止或类似的东西)

我已经尝试过放置.useragent("mozilla..."), .timeout(...),.ignorehttperrors(true)ignorecontenttype(true)using .cookie

有没有办法解决这个问题?

Response x = Jsoup.connect("page").data("...").method(method.GET).execute();

我使用了给定的建议(apache httpclient,我不再收到 HTTP 错误。但我仍然想知道 jsoup 是否可以绕过这个问题,因为我可以只使用一个 .jar 而不是 6 个(来自 apache 的 5 个加上 jsoup 来解析回复。)感谢那些编辑我的帖子(rs)的人,并感谢 ollo 的建议。

4

1 回答 1

1

这是一个使用 Java 的示例UrlConnection

URLConnection connection = new URL("your url").openConnection();
connection.addRequestProperty("http.proxyHost", "proxy server");
connection.addRequestProperty("http.proxyPort", "proxy port");

// Alternative:
System.setProperty("http.proxyHost", "yourproxyserver");
System.setProperty("http.proxyPort", "portnumber");

InputStream responseStream = connection.getInputStream();

// Read response into buffer and parse it with jsoup

另请参阅我的答案:JSoup over VPN/proxy

(我想这是一个更好的)

但我真的建议您使用 HttpClient(或类似的)来进行此类连接。正如我之前所说,jsoup 仅作为有限的连接支持。

于 2013-04-03T17:40:08.373 回答