Meteor.js,HTTP.call等待重定向其他页面

时间:2015-03-30 08:40:19

标签: meteor

HTTP.get'http://url',(错误,rslt) - >

我需要使用HTTP.call方法获取其他网页,但是在调用方法的5秒后页面会被重定向。

所以现在我使用phantomjs连接后等待5秒钟,但是在项目之外使用其他命令总是令人讨厌并且不规则。

我找到了followRedirects选项,但如果花了几秒钟,我就不知道如何获取结果内容和最终网址。

Meteor或Node中是否有任何软件包?

谢谢!

1 个答案:

答案 0 :(得分:1)

另一页如何进行重定向?因为最快的解决方案是解析您从HTTP.get返回的HTML,请提取要重定向到的页面的网址,然后针对该新网址发起您自己的HTTP.get请求。您可能会在不到5秒的时间内获得第二页。

如果重定向是由<meta http-equiv="refresh"引起的,那么找到新网址应该很简单。如果它是由JavaScript启动的,那一切都取决于实现。它可能很容易(<body onload="location.href=...),也可能是不可理解的。

至于包裹,请查看Cheerio。不过,这只会帮助您解析页面。如果您需要在页面上执行JavaScript作为解析它的一部分(即,如果重定向不明显,或者它不一致),您需要调用PhantomJS,您可以通过NPM加载它。请参阅示例here