【问题标题】:Process redirect in Javascript在 Javascript 中处理重定向
【发布时间】:2014-07-17 05:28:32
【问题描述】:

我用HttpClient 4.3.4.

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

是否有一些方法可以在 Javascript 中处理重定向?

【问题讨论】:

  • window.location.href="filename?queryString"
  • HttpClient?这是 Java 吗?

标签: javascript redirect httpclient


【解决方案1】:

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

您可以尝试使用嵌入式 javascript 引擎自己解析和执行 javascript,也可以启动真正的浏览器。对于后面的选项,我推荐Selenium,一个网络浏览器自动化工具。

您的方法很脆弱,因为它取决于您在编写解析代码时内容使用的特定重定向逻辑。至于为什么会失败,可能还有javascript的复杂性还有待发现。

【讨论】:

  • 感谢您的推荐 - 我认为 Selenium 是我需要的
猜你喜欢
  • 2017-06-23
  • 1970-01-01
  • 2011-01-11
  • 1970-01-01
  • 2020-04-09
  • 2012-12-02
  • 2015-06-10
  • 2017-06-12
  • 2010-10-18
相关资源
最近更新 更多