我试图使用jsoup登录到一个网站(包含一些子系统的内部网页面),输入一个子系统,搜索一些内容并解析该页面。
我可以登录,但是当我试图访问子系统时,我会收到一个HTTP错误502。但是,在浏览器中正常打开。
我认为这是代理(已经在java中设置)的问题。几次尝试之后,我的登录被阻止了,我得到了HTTP错误407 (页面被阻塞或诸如此类)。
我已经试着把.useragent("mozilla..."),.timeout(...),.ignorehttperrors(true),ignorecontenttype(true)和.cookie也放进去了。
有什么办法解决这个问题吗?
Response x = Jsoup.connect("page").data("...").method(method.GET).execute();我使用了给定的建议(),并且不再得到HTTP错误。但是我仍然想知道jsoup是否可以绕过这个问题,因为我可以只使用一个.jar,而不是6(来自apache的5,用于解析响应)。感谢那些编辑我的帖子的人,感谢他们提出的建议。
发布于 2013-04-03 17:40:08
下面是一个使用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只是一种有限的连接支持。
https://stackoverflow.com/questions/15751875
复制相似问题