我正在向外部API发送https
GET类型请求。
首先,我创建了https
代理,如下所示:
import https from 'https';
const KeepAliveAgent = new https.Agent( {
keepAlive: true
} );
然后设置请求选项如下:
let options = {
url: 'externalapiurl',
method: "GET",
qs: queryString,
agent: KeepAliveAgent
};
我刚刚提到了url和qs的示例字符串,在原始请求中我使用的是实际的api url和querystring,然后我发送请求如下:
console.time( "requestTime" );
request( options, ( err, response, body ) => {
if ( err ) {
logger.warn( err.message );
}
console.timeEnd( "requestTime" );
});
这工作正常,但是我正在打印上面的响应所花费的时间,当我在代理服务器后面发送请求时,这个时间要多得多,当我没有使用代理服务器时,它会花费少于半秒,但代理它需要大约3秒,所以它似乎是#34;保持活力"是不是在代理背后工作,如何使这项工作? 我使用https-proxy-agent节点模块尝试了相同的请求,但问题仍然存在,感谢任何帮助。
答案 0 :(得分:0)
所有关于测量HTTP / HTTPS代理的性能。 https://blog.thousandeyes.com/measuring-performance-with-http-proxies/][1]
你给出的代码似乎是正确的。 我建议在nodejs中使用socketio进行这样的实现。