узел: getaddrinfo ENOTFOUND (localhost:5000) работает на другом localhost:8888

Итак, у меня есть этот пример кода ниже.

var newUrl = {
    host: 'localhost',
    port: 5000,
    path: '/histo',
    // method: 'GET'
}

var newestUrl = JSON.stringify(newUrl)

console.log("newestUrl " + newestUrl)

httpGet(newestUrl, address, function (result) {
    if (response.finished) {
        // we can be here if error happened on socket disconnect
        return;
    }

    if (result.status !== 'ok') {
        if (result.status === 'ERR_SOCKET') {
            console.log('Socket problem with request: ' + result.errmsg);
            sendError("Socket problem with request " + result.errmsg, response);
            return;
        }

        console.error(dateForLogs() + "Error response from quandl for key " + key + ". Message: " + result.errmsg);
        markQuandlKeyAsInvalid(quandlKey);
        sendError("Error quandl response " + result.errmsg, response);
        return;
    }

этот код работал на localhost с портом 8888, и мне нужно передать некоторый json из имеющегося у меня API, localhost:5000/histo, откуда и возникает ошибка getaddrinfo ENOTFOUND.

Я уже добавил 127.0.0.1 localhost из etc\host (я не знаю, требует ли для обновления этого файла перезагрузки ПК, но я все равно этого не делал). Я уже много гуглил об этой ошибке, но выиграл т работать.

1 ответ

Если вам нужно отправить запрос на какой-то адрес, вам необходимо, чтобы на этом адресе был запущен сервер. Убедитесь, что на момент отправки запроса оба localhost:8888 и localhost:5000 работают.

Если у вас проблемы с разрешением имен, вам нужно отредактировать /etc/hosts, а не ip. Предположим, вы запускаете какой-то localhost:3656 и хотите сделать запрос на нем как example.com, тогда вам нужно добавить строку в /etc/hosts, чтобы объяснить, что example.com необходимо преобразовать как localhost:3656

Другие вопросы по тегам