HTTP.get'http://url',(错误,rslt) - >
我需要使用HTTP.call方法获取其他网页,但是在调用方法的5秒后页面会被重定向。
所以现在我使用phantomjs连接后等待5秒钟,但是在项目之外使用其他命令总是令人讨厌并且不规则。
我找到了followRedirects选项,但如果花了几秒钟,我就不知道如何获取结果内容和最终网址。
Meteor或Node中是否有任何软件包?
谢谢!
答案 0 :(得分:1)
另一页如何进行重定向?因为最快的解决方案是解析您从HTTP.get
返回的HTML,请提取要重定向到的页面的网址,然后针对该新网址发起您自己的HTTP.get
请求。您可能会在不到5秒的时间内获得第二页。
如果重定向是由<meta http-equiv="refresh"
引起的,那么找到新网址应该很简单。如果它是由JavaScript启动的,那一切都取决于实现。它可能很容易(<body onload="location.href=...
),也可能是不可理解的。
至于包裹,请查看Cheerio。不过,这只会帮助您解析页面。如果您需要在页面上执行JavaScript作为解析它的一部分(即,如果重定向不明显,或者它不一致),您需要调用PhantomJS,您可以通过NPM加载它。请参阅示例here。