簡體   English   中英

Node.js中的HTTP代理

[英]http proxy in Node.js

我試圖在node.js中創建一個http代理,該代理獲取請求並向服務器發出新請求。 我的目的是暫時消除跨源問題並測試我的應用程序。 但是我越來越異常:

     _stream_readable.js:536
    var ret = dest.write(chunk);
    dest.write is not a function

我完全是node.js的新手,所以我走對了嗎? 還是有更好的方法呢?

app.get('/tlq', (req, res) => {
  console.log('serve: ' + req.url);
  var options = {
    hostname: 'www.google.com',
    port: 80,
    path: req.url,
    method: 'GET'
  };
  var proxy = http.request(options, function (res) {
    res.pipe(res, {
      end: true
    });
  });

  req.pipe(proxy, {
    end: true
  });
});

為了擺脫跨源錯誤,您必須發送Access-Control標頭(在將任何數據發送到客戶端之前)。 為此,您可以使用下一個中間件:

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM