0

所以我在下面有这个代码示例。

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 ,我需要从我拥有的 API localhost:5000/histo 传递一些 json,这是 getaddrinfo ENOTFOUND 错误的来源。
在此处输入图像描述

我已经从 etc\host 添加了 127.0.0.1 localhost (我不知道更新这个文件是否需要重新启动 PC 才能生效,但我还没有这样做)我已经在谷歌上搜索了很多关于这种错误但不会不工作。

4

1 回答 1

0

如果您需要向某个地址发送请求,则需要在该地址上运行服务器。确保在您发送请求时 localhost:8888 和 localhost:5000 都可以运行。

/etc/hosts 当你有名称解析问题时需要编辑,而不是 ip。假设您运行一些 localhost:3656 并希望在其上以 example.com 的形式发出请求,那么您必须在 /etc/hosts 中添加一行来说明 example.com 需要被解析为 localhost:3656

于 2019-11-20T10:49:34.537 回答