我试图从代理后面的 REST api 获得响应。
当使用浏览器(chrome,IE)手动测试时,我可以在浏览器中配置代理时从 GET 请求中获取结果。
但是,当我尝试在 nodejs 中使用 npm 包请求承诺(在量角器 + jasmine 测试中)做同样的事情时,我得到错误:错误:无法建立隧道套接字:statusCode407
这是我的测试代码(尝试了两种方法):
'use strict';
describe('test suite', function() {
it('REST test 1', function(){
var request = require('request-promise');
var url = 'https://environment/getId';
var fullProxy = 'http://myProxy:8080';
var proxiedRequest = request.defaults({'proxy': fullProxy});
proxiedRequest.get(url).then(function(response){
console.log('Response: ' + response);
}).catch(function(error){
throw new Error(error);
});
});
it('REST test 2', function(){
var request = require('request-promise');
var url = 'https://environment/getId';
var fullProxy = 'http://myProxy:8080';
var options = {
uri: url,
proxy: fullProxy
};
request(options)
.then(function(response){
console.log('Response: ' + response);
})
.catch(function(err){
throw new Error(err);
});
});
});
感谢您的时间和精力!