私の質問はこの質問に似ています:Node Js :is it possible to hit 1000 http get request to some api from a node js serverしかし、彼らの解決策は私のために働いていませんでした。Node.js https取得リクエストECONNRESET
Google App Engineでホストされているapi /ウェブサイトを呼び出して、特定の製品ページのMemcacheを更新するタスクを開始します。この関数updateCache
はasync.eachSeries
から呼び出されます。コードは前方かなりストレートです(これは消毒バージョンです)
function updateCache(object_name, callback) {
var options = {
host : 'www.example.com',
path : '/update-cache/' + object_name,
method : 'GET',
agent : false,
};
var req = https.request(options, function(res) {
res.on('data', function() {
if (res.statusCode !== 200) {
console.log('successful');
}
});
res.on('end', function() {
console.log('end');
callback();
});
});
req.on('error', function(e) {
console.log('failed');
console.error(e.stack);
callback();
});
req.end();
}
それは私のMacマシン上で完璧に動作しますが、私は、Windows 7を使用して、Windows PC上で実行するスクリプトを必要としているが、それはこのエラーを取得したあります:
events.js:141
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at exports._errnoException (util.js:870:11)
at TCP.onread (net.js:552:26)
私は[stackoverflow]で見つけた解決策を実装しました。http:http://stackoverflow.com/questions/17245881/node-js-econnreset – ThisClark
://stackoverflow.com/questions/19322248/node-js-distinguishing-errors-when-making-http-request)。これまでのところ、私のスクリプトは正常に動作しています。 –
私は 'req.on( 'timeout'、...)'にエラーを投げているので、私が続いたコードはエラーを捕らえることができましたが、私はまだタイムアウトと接続を閉じる方法を知らない –