# 六.中间层

  • node 作为中间层请求服务器,将请求结果拿回来发送给客户端

    例如: 比如访问百度新闻的接口,拿到数据后发送给本地 3000 接口

    • 1.开启中间层:server.js
    • 2.打开浏览器 访问 3000 端口[http://localhost:3000/]
//客户端 node充当的服务器 node

//当我访问我自己的node服务器时,我可以在发一个请求到别的网站上,请求到的结果响应给客户端

let http = require("http");
let server = http.createServer();
server.on("request", function(req, re) {
  http.get(
    {
      host: "news.baidu.com"
    },
    function(res) {
      let arr = [];
      res.on("data", function(data) {
        arr.push(data);
      });
      res.on("end", function() {
        let r = Buffer.concat(arr).toString();
        let arrs = r.match(/<li>(?:[\s\S]*?)<\/li>/gim);
        re.setHeader("Content-Type", "text/html;charset=utf8");
        re.end(arrs.join(""));
      });
    }
  );
});
server.listen(3000, "localhost", function() {
  console.log(`start port 3000`);
});

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29