创建一个可以在发送给客户端之前修改HTTP响应的HTTP代理
我正在用 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)