最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何在node.js中创建一个简单的http代理?

运维笔记admin13浏览0评论

如何在node.js中创建一个简单的http代理?

如何在node.js中创建一个简单的http代理?

[我正在尝试创建代理服务器,以将来自客户端的HTTP GET请求传递给第三方网站(例如Google)。我的代理只需要将传入的请求镜像到目标站点上的相应路径,因此,如果我的客户请求的url为:

127.0.0.1/images/srpr/logo11w.png

应提供以下资源:

.png

这是我想出的:

http.createServer(onRequest).listen(80);

function onRequest (client_req, client_res) {
    client_req.addListener("end", function() {
        var options = {
            hostname: 'www.google',
            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页面配合使用很好,但是对于其他类型的文件,它只返回空白页面或来自目标站点的错误消息(在不同站点中有所不同。)>

我正在尝试创建代理服务器,以将HTTP GET请求从客户端传递到第三方网站(例如Google)。我的代理只需将传入的请求镜像到......>

回答如下:

我认为处理从第三方服务器收到的响应不是一个好主意。这只会增加代理服务器的内存占用量。此外,这就是您的代码无法正常工作的原因。

而不是尝试将响应传递给客户端。考虑以下代码段:

发布评论

评论列表(0)

  1. 暂无评论