如何在代理下的节点js中发送HTTP请求

时间:2016-03-14 10:33:05

标签: javascript node.js proxy typescript visual-studio-code

以下节点js代码运行良好并获得所有必需的结果。

但是当我在定义的代理设置下运行计算机中的代码时。它没有给出结果。

    var options: https.RequestOptions = {
                        host: item.hostname,
                        port: +item.port,
                        path: item.path,
                        method: 'POST',
                        headers: newHeader

                    }

var req = https.request(options, function(res){
                        if(res.statusCode !== 200){
                            //reject();
                            //return;
                        }

                        var result = '';
                        res.setEncoding('utf8');
                        res.on('data', function(chunk){
                            result += chunk;
                        });
                        res.on('end', function(){
                            resolve(result);
                        });

                        res.on('error', function(e){
                            reject(e);
                        });
                    });

如何在NODE JS中的http模块请求中启用代理支持,它检查是否有任何代理定义并执行该启用的请求。

options data in debug mode :

headers:Object
Accept:"application/json;api-version=3.0-preview.1"
Content-Length:104
Content-Type:"application/json"
host:"marketplace.visualstudio.com"
method:"POST"
path:"/_apis/public/gallery/extensionquery"
port:0

1 个答案:

答案 0 :(得分:0)

代理应该是host / port,而path是代理应该发出的请求的最终路径(host:port/path)。

基本上,例如如果通过localhost上的代理发出请求:8888:

path = host + path, host = 'localhost', port = 8888;