在Javascript中处理重定向

时间:2014-07-17 05:28:33

标签: javascript redirect httpclient

我使用HttpClient 4.3.4.

我提出POST请求 - 网站依次进行一些重定向(代码页302),由HttpClient自动处理(使用LaxRedirectStrategyHttpClient。最后,我得到标题为Redirection ...的HTML页面(代码200)。在其内容中有一些Javascript代码,在某些URL上有重定向。此重定向(当然)不是由HttpClient处理的。 我试图解析这个页面以获取URL做出适当的GET请求(类似于浏览器)但站点返回HTML页面有错误(虽然我不明白为什么会发生这种情况)。

有没有办法在Javascript中处理重定向?

1 个答案:

答案 0 :(得分:0)

HttpClient是一个为您处理HTTP协议的库。它不应该处理协议传输的内容。内容,HTML和JavaScript需要由真实浏览器或浏览器的某些简化版本处理。

您可以尝试使用嵌入式JavaScript引擎自行解析和执行javascript,也可以启动真正的浏览器。对于后面的选项,我建议使用Selenium这是一个Web浏览器自动化工具。

您的方法很脆弱,因为它取决于您编写解析代码时内容使用的特定重写逻辑。至于它失败的原因,javascript可能会有并发症发现。