用 nodejs 转发 http,帮我看看哪里错

2015-03-09 11:20:02 +08:00
 coolicer
在cnodejs上发了,没人回答。各位大牛帮一下

原帖 https://cnodejs.org/topic/54fd0d881e9291e16a7b34f5
if(req.url == '/data/get' || req.url == 'data/get') {
var post_data = querystring.stringify({
proc: 'getConfig'
});
console.log('post_data->',post_data)
var options = {
host: '192.168.1.246',
port:80,
path: '/data/get',
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=UTF-8',
'Content-Length': post_data.length
}
};
var body = ''
var client_req = http.request(options, function(res) {
console.log("Got response: " + res.statusCode);
res.on('data',function(d){
body += d;
}).on('end', function(){
console.log(res.headers)
console.log(body)
});

}).on('error', function(e) {
console.log("Got error: " + e.message);
})
client_req.write(post_data)
client_req.end();
}

我需要使用服务器的地址(192.168.1.246),把 localhost/data/get转发给192.168.1.246/data/get
4201 次点击
所在节点    Node.js
10 条回复
typcn
2015-03-09 12:43:10 +08:00
这东西为什么要用 node.js 做。。。 nginx 不行吗
coolicer
2015-03-09 12:55:38 +08:00
@typcn 尝试一下,主要是mac装不了.net
hcymk2
2015-03-09 13:14:39 +08:00
你的asp.net 应用 500 了.
jackmasa
2015-03-09 13:16:24 +08:00
格式太乱了,发 gist 吧。
coolicer
2015-03-09 13:21:48 +08:00
@jackmasa 我主要想知道options 参数有没有写错,提示500说明也是传了东西过去的
coolicer
2015-03-09 13:24:13 +08:00
coolicer
2015-03-09 13:25:14 +08:00
代码片
<script src="https://gist.github.com/coolicer/880c617081503e69de70.js"></script>

怎么直接贴上来不行
finian
2015-03-09 14:46:00 +08:00
你自己 debug 一下不就知道哪里错了吗?
shuson
2015-03-09 16:39:40 +08:00
推荐使用
https://github.com/nodejitsu/node-http-proxy

你的code有问题,导致enobufs error, 看看这个
https://github.com/joyent/node/issues/3269
coolicer
2015-03-09 20:47:58 +08:00
@shuson 我知道哪错了。是参数那里

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175494

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX