nodejs http request 返回内容
发布于 11 年前 作者 iweblog 11059 次浏览 最后一次编辑是 8 年前

var http = require(‘http’);

http.createServer(function(request, response) { var proxyRequest = http.request({ host: request.headers[‘host’], port: 80, path: request.url, method: request.method, headers: request.headers }, function(proxyResponse) { console.log(proxyResponse.headers); response.writeHead(proxyResponse.statusCode, proxyResponse.headers); proxyResponse.pipe(response); }); request.pipe(proxyRequest); }).listen(8080);

请问怎么修改proxyResponse的html?

9 回复

外边新建一个处理 HTML 的函数, 在获取 proxyResponse 的函数里调用那个函数?

@jiyinyiyong ,没懂你的意思啊.

我也没懂你的意思… 处理 HTML 不是直接字符串处理方法去做就好了么

@jiyinyiyong,这个例子是简单的http proxy,将浏览器代理设置为127.0.0.1:8080的时候,比如请求www.baidu.com,我想将代理返回的html作修改,如:修改logo,增加一个<div>提示等等…

@iweblog,这种事情何必不用apache nginx之流来做呢

@iweblog 那么说你问的是具体的 DOM 结构在服务端怎么操作的问题了… 你这问题问的… 改下标题吧… 具体我不清楚, 大概是 node-jquery 之类模块来做的, 把 HTML 解析成 DOM 来操作 https://github.com/coolaj86/node-jquery

怎么回复的内容不见了???

@cgcgbcbc 对的,这两个家伙比较专业,但是我不懂啊,也想学习下写个简单的http https的代理,让其他的几十台机子都通过这个代理上网,方便管理。俺不是程序员,所以apache、nginx学习成本觉得高,自己慢慢折腾一个简单的代理出来吧

回到顶部