我使用HttpClient 4.3.4.
我提出POST
请求 - 网站依次进行一些重定向(代码页302),由HttpClient
自动处理(使用LaxRedirectStrategy
)HttpClient
。最后,我得到标题为Redirection ...
的HTML页面(代码200)。在其内容中有一些Javascript代码,在某些URL上有重定向。此重定向(当然)不是由HttpClient
处理的。
我试图解析这个页面以获取URL做出适当的GET请求(类似于浏览器)但站点返回HTML页面有错误(虽然我不明白为什么会发生这种情况)。
有没有办法在Javascript中处理重定向?
答案 0 :(得分:0)
HttpClient
是一个为您处理HTTP协议的库。它不应该处理协议传输的内容。内容,HTML和JavaScript需要由真实浏览器或浏览器的某些简化版本处理。
您可以尝试使用嵌入式JavaScript引擎自行解析和执行javascript,也可以启动真正的浏览器。对于后面的选项,我建议使用Selenium这是一个Web浏览器自动化工具。
您的方法很脆弱,因为它取决于您编写解析代码时内容使用的特定重写逻辑。至于它失败的原因,javascript可能会有并发症发现。