【问题标题】:How to send HTTP Request in node js under proxy如何在代理下的节点js中发送HTTP请求
【发布时间】:2016-06-29 08:23:47
【问题描述】:

以下节点 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);
                        });
                    });

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 如何从http模块获取电脑默认代理和端口?
    • 您无法从http 模块获取它。而且它是特定于操作系统的,我找不到可以通过快速搜索来做到这一点的模块。
    • 所以唯一的方法是允许用户在应用程序中设置代理设置以便在代理下工作?
    猜你喜欢
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多