【问题标题】:How to redirect to target url using node 'http'如何使用节点“http”重定向到目标 URL
【发布时间】:2018-04-07 21:19:29
【问题描述】:

我正在执行下面的代码 sn-p 但它没有重定向到实际页面。

var http = require('http');

var options = {
  host: 'google.com',
  port: 80,
  path: '/search?q=hello+world'
};

http.get(options, function(resp){
resp.setEncoding('utf8');
  resp.on('data', function(chunk){
    //do something with chunk
console.log('================\n\n', chunk);
  });
}).on("error", function(e){
  console.log("Got error: " + e.message);
});

命令开火:

node sample.js

输出:

================

 <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.in/search?q=hello+world&amp;gws_rd=cr&amp;dcr=0&amp;ei=Wd3xWd_nBITovgSl9bXwCA">here</A>.
</BODY></HTML>

我想获取整个页面的 html,但不是这个,而不是我想要 hello world 的结果。

【问题讨论】:

标签: javascript html node.js http


【解决方案1】:

使用resp.redirect('url'); 重定向到所需页面。

基本上node js 是为create server 开发的。但顺便说一句,它已经到了server side..所以在core node js..你可以尝试至少任何frameworks,例如@987654328 @..https://expressjs.com/ 只是通过这个strong &amp; easy &amp; famous 框架..如果你不喜欢它然后去另一个

【讨论】:

  • 得到这个 TypeError: resp.redirect is not a function
  • 问题是我不想通过 createServer() 方法在浏览器中打开它,而是想通过控制台本身访问数据
  • 在控制台 html 中不起作用..它始终显示完整代码
  • 同意。我只需要查看整个代码而不仅仅是 html
  • 我认为谷歌不允许获取像google doesn't show in iframe这样的数据
【解决方案2】:

尝试用 utf8 代替 - “utf-8” ;用破折号

【讨论】:

  • 还是一样的结果
【解决方案3】:

您真正想要的是遵循重定向。请参阅其他问题以获取可能的答案:How do you follow an HTTP Redirect in Node.js?

【讨论】:

    猜你喜欢
    • 2011-01-22
    • 1970-01-01
    • 2020-08-07
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    相关资源
    最近更新 更多