创建一个http代理,可以在将http响应发送到客户端之前修改它

时间:2011-05-06 20:11:20

标签: python http proxy node.js http-proxy

我正在使用wget从网上抓取某些内容,但我不想关注该部分内容。我以为我可以设置一个代理,删除我不想处理的网页部分,然后再返回给wget,但我不确定如何实现。

是否有代理可以让我轻松修改python或node.js中的http响应?

2 个答案:

答案 0 :(得分:5)

有几种方法可以实现这一目标。这应该让你开始(使用node.js)。在以下示例中,我将获取google.com并将所有“google”实例替换为“foobar”。

// package.json file...
{
  "name": "proxy-example",
  "description": "a simple example of modifying response using a proxy",
  "version": "0.0.1",
  "dependencies": {
    "request": "1.9.5"
  }
}

// server.js file...
var http = require("http")
var request = require("request")
var port = process.env.PORT || 8001

http.createServer(function(req, rsp){
  var options = { uri: "http://google.com" }

  request(options, function(err, response, body){
    rsp.writeHead(200)
    rsp.end(body.replace(/google/g, "foobar"))
  })

}).listen(port)

console.log("listening on port " + port)

答案 1 :(得分:0)

在nodejs中,我会分叉node-http-proxy并根据我的需要自定义代码。

从头开始编写http代理更简单,恕我直言。