我正在向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节点模块尝试了相同的请求,但问题仍然存在,感谢任何帮助.
小智 1
所有关于测量 HTTP/HTTPS 代理的性能。 https://blog.thousandeyes.com/measuring-performance-with-http-proxies/][1]
您给出的代码似乎是正确的。我建议在nodejs中使用socketio来实现你正在做的这样的实现。
| 归档时间: |
|
| 查看次数: |
761 次 |
| 最近记录: |