kan*_*ane 1 redirect request node.js
在我的nodejs程序中,我使用require(request)。它似乎没有遵循重定向,即使它应该是默认的。我什至明确设置了重定向标志(尽管这应该是默认设置的)
var options = {
url:url
, followRedirect: true
, headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36'
}
}
request(options, function (err, res, body) {...
Run Code Online (Sandbox Code Playgroud)
例如,查看网站http://www.fanniemae.com/ ,它会重定向到http://www.fanniemae.com/portal/index.html
在 /index.html 内,该 html 包含此内容
<meta http-equiv="REFRESH" content="0;url=/portal/index.html">
Run Code Online (Sandbox Code Playgroud)
请求似乎没有遵循此元标记重定向。
这是正常的吗?我怎样才能让它遵循这个重定向?
Request不会像浏览器那样呈现页面,它只是进行简单 http 调用的一种方式(如果外部服务上存在服务器端重定向,则重定向将起作用)。这就是为什么它无法理解这种重定向。
作为解决方案,您可以尝试使用类似PhantomJS(http://phantomjs.org/)的内容来使其与此处提到的一些解决方法一起使用。或者为Selenium服务器编写的脚本可能会帮助您解决问题。
| 归档时间: |
|
| 查看次数: |
1392 次 |
| 最近记录: |