CNode

nodejs http request 返回内容

Iiweblog发布于13 年前最后回复13 年前9 回复11605 浏览0 收藏

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)

J
jiyinyiyong#1·13 年前

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

I
iweblog#2·13 年前

@jiyinyiyong ,没懂你的意思啊.

J
jiyinyiyong#3·13 年前
引用 iweblog@jiyinyiyong ,没懂你的意思啊.

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

I
iweblog#4·13 年前
引用 iweblog@jiyinyiyong ,没懂你的意思啊.

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

C
cgcgbcbc#5·13 年前
引用 iweblog@jiyinyiyong ,没懂你的意思啊.

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

J
jiyinyiyong#6·13 年前
引用 iweblog@jiyinyiyong ,没懂你的意思啊.

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

I
iweblog#8·13 年前

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

I
iweblog#9·13 年前

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

参与回复
登录后即可参与回复。登录