2016-01-15 2 views
1

Я написал код, используя модули cheerio, request и longjohn, которые работали вчера, но сегодня он всегда выдает ошибку «ECONNREFUSED».nodejs request - всегда возвращается econnrefused

Я попытался с помощью простой пример кода, который использует запрос:

var request = require('request'); 
request('http://www.google.com', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
     console.log(body) // Show the HTML for the Google homepage. 
    } 
    else{ 
     console.log(error); 
    } 
}) 

Тем не менее, все равно возвращается:

{[Error: connect ECONNREFUSED] 
    code: 'ECONNREFUSED', 
    errno: 'ECONNREFUSED', 
    syscall: 'connect' } 

Просто интересно, что может быть причиной этого, я могу подключиться к интернету штрафа используя веб-браузеры.

Благодаря

+1

Возможно, это настройки брандмауэра. –

+0

Спасибо AMIR, я забыл, что в прошлый раз я запустил этот код. У меня был прокси-сервер (из-за использования интернет-компании, работающей против разработчиков) – ruby

ответ

0

Это, вероятно, потому, что этот процесс не может иметь доступ к Интернету из-за межсетевым экраном или прокси-сервера.

Проверьте настройки брандмауэра и прокси-сервера и убедитесь, что процесс имеет доступ к Интернету.

0

Моя проблема была в том, что я выполнял сразу же после запуска процесса сервера. Я решил ошибку, обернув get в setTimeout

setTimeout(() => { 
    http.get('http://localhost:4003/state', (response) => { 
    console.log('response:', response) 
    response = response; 
    server.kill('SIGTERM'); 
    }).on('error', (err) => { 
    console.log('error:', err) 
    server.kill('SIGTERM'); 
    }); 
}, 1000); 
Смежные вопросы