У меня есть постоянная проблема с использованием модуля запроса, где, независимо от URL-адреса, который я предоставляю, я получаю ошибку зависания сокета, как правило, сброс соединения. Что делает это более странным, так это то, что этот код работает на другом компьютере разработчика без проблем.
var request = require("request");
request("http://google.com", function(error, response, body) {
console.log(error);
console.log(response);
if (!error && response.statusCode === 200) {
}
});
Это упрощенная версия кода, но она иллюстрирует суть. Если я сделаю что-то подобное, хотя
var http = require('http');
var options = {
host: 'www.google.com',
port: 80
};
http.get(options, function (resp) {
var bdy = "";
resp.on('data', function (chunk) {
bdy = bdy + chunk;
});
resp.on('end', function () {
//var r = JSON.parse(bdy);
console.log(bdy);
});
}).on("error", function (e) {
console.log("Got error: " + e.message);
});
Я получил ответ от Google, как и ожидал. Странно то, что и модуль запроса, и другой модуль, который я использую (weather-js), демонстрируют одинаковое поведение: все запросы приводят к некоторой ошибке сокета. Кроме того, когда я запускаю Fiddler, я вижу, как пропадает запрос http.get
, но я никогда не вижу записи, когда выполняется код из модуля request
или weather-js
.
Я использую Node 10.5.0 в Windows 10.