创建一个可以在发送给客户端之前修改HTTP响应的HTTP代理

1 投票
2 回答
3886 浏览
提问于 2025-04-16 17:09

我正在用 wget 从网上下载一些东西,但我不想下载网页的某些部分。我想我可以设置一个代理,这样在把网页内容返回给 wget 之前,代理可以把我不想要的部分去掉,但我不太确定怎么做到这一点。

有没有什么代理可以让我在 Python 或 Node.js 中轻松修改 HTTP 响应呢?

2 个回答

0

在Node.js中,我会把node-http-proxy这个项目复制一份,然后根据我的需求来修改代码。

我觉得这样比从头开始写一个http代理要简单得多。

6

有几种方法可以实现这个目标。下面这个例子可以帮助你入门(使用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)

撰写回答