在代理页面之后,我需要在块中添加一个附加属性,然后再由浏览器加载它。Node.js 上的服务器 在 Google 中,我发现了这种在 Node.js 上代理页面的方式:
var http = require('http')
var url = require('url')
var server = http.createServer(function(request, response) {
console.log(request.url)
var ph = url.parse(request.url)
var options = {
port: ph.port,
hostname: ph.hostname,
method: request.method,
path: ph.path,
headers: request.headers
}
var proxyRequest = http.request(options)
proxyRequest.on('response', function(proxyResponse) {
proxyResponse.on('data', function(chunk) {
response.write(chunk, 'binary')
})
proxyResponse.on('end', function() { response.end() })
response.writeHead(proxyResponse.statusCode, proxyResponse.headers)
})
request.on('data', function(chunk) {
proxyRequest.write(chunk, 'binary')
})
request.on('end', function() { proxyRequest.end() })
}).listen(8080)
是否可以在某个阶段使用此方法获取结果页面的 html 代码,对其进行调整并将编辑后的版本发送到浏览器以供下载?
该脚本的本质是将数据放入缓冲区,进行替换并返回。对我来说最大的问题是编码。这是一个工作示例:
如何从 bash 中检查: