我正在向https外部API 发送GET类型请求.
首先,我创建了https代理如下:
import https from 'https';
const KeepAliveAgent = new https.Agent( {
keepAlive: true
} );
Run Code Online (Sandbox Code Playgroud)
然后设置请求选项如下:
let options = {
url: 'externalapiurl',
method: "GET",
qs: queryString,
agent: KeepAliveAgent
};
Run Code Online (Sandbox Code Playgroud)
我刚刚提到了url和qs的示例字符串,在原始请求中我使用的是实际的api url和querystring,然后我发送请求如下:
console.time( "requestTime" );
request( options, ( err, response, body ) => {
if ( err ) {
logger.warn( err.message );
}
console.timeEnd( "requestTime" );
});
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我正在打印上面的响应所花费的时间,当我在代理服务器后发送请求时,这个时间要多得多,当我不使用代理服务器时,它花费的时间不到半秒但是代理服务器需要大约3秒,所以似乎"保持活力"不是代理背后的工作,如何使这项工作?我使用https-proxy-agent节点模块尝试了相同的请求,但问题仍然存在,感谢任何帮助.
node.js ×1