Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在node.js中遵循Javascript重定向?_Javascript_Node.js - Fatal编程技术网

是否可以在node.js中遵循Javascript重定向?

是否可以在node.js中遵循Javascript重定向?,javascript,node.js,Javascript,Node.js,我正在使用哪个可以跟踪HTTP重定向,但是有没有一种方法可以跟踪Javascript重定向,比如这样 <html> <head> <meta http-equiv="refresh" content="0; /subpage"/> <script type="text/javascript"> window.location.href = '/subpage/'; </script> <

我正在使用哪个可以跟踪HTTP重定向,但是有没有一种方法可以跟踪Javascript重定向,比如这样

<html>
  <head>
    <meta http-equiv="refresh" content="0; /subpage"/>
    <script type="text/javascript">
      window.location.href = '/subpage/';
    </script>
  </head>
  <body></body>
</html>

window.location.href='/subpage/';
我能想到的唯一一件事就是测试响应头部的
window.location.href
值,如果为true,则按照它进行操作


有更好的解决方案吗?

使用
window.location.href
不是执行javascript重定向的唯一方法,因此您建议的黑客攻击不会在所有情况下都有效

此外,如果新url是一个变量(例如:
window.location.url=some_variable
),您将无法捕获它

确保遵循任何javascript重定向的最优雅的方法是使用webdriver,例如


此解决方案的优点是它将遵循任何html/javascript重定向。缺点是它需要设置,并且webdriver的执行可能会很慢。

使用
window.location.href
不是执行javascript重定向的唯一方法,因此您建议的黑客攻击不会在所有情况下都有效

此外,如果新url是一个变量(例如:
window.location.url=some_variable
),您将无法捕获它

确保遵循任何javascript重定向的最优雅的方法是使用webdriver,例如


此解决方案的优点是它将遵循任何html/javascript重定向。缺点是它需要设置,而且webdriver的执行可能很慢。

如果使用无头浏览器并解析javascriptYes,使用类似phantom.js的东西是一个选项,但这是一个非常特殊的情况,所以我想知道在node.js端是否还有其他方法可以解决这个问题。我建议使用phantomjs来获取页面。基本上,您需要尽可能地模拟正常的用户行为/流程。如果您使用无头浏览器并解析javascriptYes,使用类似phantom.js的东西是一个选项,但这是一个非常特殊的情况,所以我想知道在node.js端是否还有其他方法可以解决这个问题。我建议使用phantomjs来获取页面。基本上,您需要尽可能地模拟正常的用户行为/流程。