나는 웹에서 무언가를 얻기 위해 wget
을 사용하고 있습니다. 그러나 페이지의 일부를 따르고 싶지 않습니다. wget으로 반환하기 전에 웹 페이지 부분을 제거 할 프록시를 설정할 수 있다고 생각했지만 어떻게 처리 할 것인지 잘 모르겠습니다.http 응답을 클라이언트에 보내기 전에 수정할 수있는 http-proxy를 만듭니다.
파이썬이나 node.js에서 http 응답을 쉽게 수정할 수있는 프록시가 있습니까?
나는 웹에서 무언가를 얻기 위해 wget
을 사용하고 있습니다. 그러나 페이지의 일부를 따르고 싶지 않습니다. wget으로 반환하기 전에 웹 페이지 부분을 제거 할 프록시를 설정할 수 있다고 생각했지만 어떻게 처리 할 것인지 잘 모르겠습니다.http 응답을 클라이언트에 보내기 전에 수정할 수있는 http-proxy를 만듭니다.
파이썬이나 node.js에서 http 응답을 쉽게 수정할 수있는 프록시가 있습니까?
이 목표를 달성하는 데는 여러 가지 방법이 있습니다. 이렇게하면 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)
고마워, 정말 도움이되었습니다. :) –
nodejs에서 나는 node-http-proxy을 포크하고 내 필요에 맞게 코드를 사용자 정의합니다.
http 프록시를 처음부터 작성하는 것보다 훨씬 간단합니다.
자세한 정보가 필요하다고 생각합니다. 당신은 실제로 무엇을하려고합니까? 수정 한 후 응답으로 무엇을하고 싶습니까? 응답에 대해 무엇을 바꾸고 싶습니까? 헤더를 수정 하시겠습니까? 아니면 데이터? – Acorn
@Acorn - 프록시 단계에서 해당 데이터를 변경하고 싶습니다. '인터넷 -> 프록시 -> wget' –