我正在尝试创建一个代理服务器,以将HTTP GET
请求从客户端传递到第三方网站(例如google)。我的代理只需将传入请求镜像到目标站点上的相应路径,因此,如果我的客户请求的url为:
127.0.0.1/images/srpr/logo11w.png
应提供以下资源:
http://www.google.com/images/srpr/logo11w.png
这是我想出的:
http.createServer(onRequest).listen(80);
function onRequest (client_req, client_res) {
client_req.addListener("end", function() {
var options = {
hostname: 'www.google.com',
port: 80,
path: client_req.url,
method: client_req.method
headers: client_req.headers
};
var req=http.request(options, function(res) {
var body;
res.on('data', function (chunk) {
body += chunk;
});
res.on('end', function () {
client_res.writeHead(res.statusCode, res.headers);
client_res.end(body);
});
});
req.end();
});
}
它适用于html页面,但对于其他类型的文件,它仅返回空白页面或来自目标站点的错误消息(在不同站点中有所不同)。
我认为处理从第三方服务器收到的响应不是一个好主意。这只会增加代理服务器的内存占用量。此外,这就是您的代码无法正常工作的原因。
而是尝试将响应传递给客户端。考虑以下代码段:
var http = require('http');
http.createServer(onRequest).listen(3000);
function onRequest(client_req, client_res) {
console.log('serve: ' + client_req.url);
var options = {
hostname: 'www.google.com',
port: 80,
path: client_req.url,
method: client_req.method,
headers: client_req.headers
};
var proxy = http.request(options, function (res) {
client_res.writeHead(res.statusCode, res.headers)
res.pipe(client_res, {
end: true
});
});
client_req.pipe(proxy, {
end: true
});
}
我正试图创建一个代理服务器,将请求从客户端传递到第三方网站(比如谷歌)。我的代理只需要将传入请求镜像到目标站点上相应的路径,因此如果我的客户端请求的url为: 应提供以下资源: 以下是我想出来的: 它可以很好地处理html页面,但是对于其他类型的文件,它只是返回一个空白页面或目标站点的一些错误消息(这在不同的站点中有所不同)。
问题内容: 我正在寻找与JavaScript相同的效果。 我今天下午使用Twisted.web编写了一个基于Web的简单解释器。您基本上是通过表单提交Python代码块的,客户端来抓取并执行它。我希望能够发出一个简单的弹出消息,而不必每次都重写一堆样板wxPython或TkInter代码(因为该代码通过表单提交然后消失了)。 我尝试过tkMessageBox: 但这会在后台用tk图标打开另一个窗口
错误:在object.exports._errnoException(util.js:1018:11)在exports._exceptionwithhostport(util.js:1041:20)在server._listen2(net.js:1245:19)在server.listen(net.js:1294:10)在eventemitter.listen(net.js:1390:5)在obj
问题内容: 如何在Magento中完成以下任务? 使用控制器/视图/模型方法显示“ Hello World”消息。因此,如果我去过,它将显示字符串“ Hello World”。能够在我的网站模板中显示此字符串(例如,页眉,页脚等)将是一个好处。 如何向该控制器(如果需要,或新控制器)添加方法,该方法与模型交互并执行查询,并将行(包含columns )返回给控制器?然后使用控制器包含一个视图,该视图
(附:我不太懂加工)
问题内容: 我正在尝试在Eclipse中创建一个简单的Web服务。首先,我创建了一个空的Java项目,并将以下三个文件添加到src文件夹中 Greeting.java GreetingImp.java WSPublisher 我正在遵循的教程未指定任何服务器来运行Web服务!我想知道是否需要指定任何服务器。我已经有了Tomcat v5.5,但在此示例中未使用它。每当我将这个项目作为Java项目运行