node.js - 从 Node HTTP 请求到外部 API 中删除端口号

标签 node.js http express reactjs webpack

我正在使用 Node、Express 和 Webpack 编写 React 应用程序。我的问题是我的 API 调用的 URL 总是在主机和路径之间有一个端口号。似乎关于此主题的大多数问题更多地与路由有关,而不是与外部 API 调用有关。

我对 Request 感觉舒服多了,但是我在尝试让它与 Webpack 很好地配合时感到非常沮丧,所以我转向了我不太了解的 Node 的 http。

下面是负责 API 调用的方法:

getData() {
    const self = this;

    const url = "api.civicapps.org";

    const options = {
        "method": "GET",
        "mode": "no-cors",
        "host": url,
        "path": "/restaurant-inspections/?restaurant_name=" + this.state.nameQuery,
        "port": 8080,
        "headers": {
            "Access-Control-Allow-Origin": "http://localhost:3000"
        }
    }

    const p1 = new Promise(function(resolve, reject) {
        resolve(
            http.request(options, function(res) {
                res.setEncoding('utf8');
                const body = {};

                //This is clearly not ideal, but all I need right now is to get a response from the API

                res.on('data', function(chunk) {
                    body.push(chunk);
                });
                return body;
            }).end()
        )   
    });

    p1.then(function(data) {
            console.log(data);

        self.setState({
            name: data.body
        });
    });

    p1.catch(function(err) {

        ...
    });
}

我只想对这个 API 发出一个简单的测试 GET 请求。一旦成功,我就会没事的。

提前致谢。

最佳答案

事实证明将端口设置为 80 并使用 sudo 运行解决了问题。

关于node.js - 从 Node HTTP 请求到外部 API 中删除端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36930909/

相关文章:

node.js - 当 npm install 在控制台中没有显示任何内容时,这意味着什么?

javascript - 在启动之前请求用户应用程序时出错

node.js - Angular 9 SSR 404 未找到带有状态代码的页面

node.js - 带子路由器的 Express 路由器

node.js - 如何处理 Mongoose DB 连接中断

node.js - Auth0 和 Dialogflow 身份验证

c# - HttpWebResponse.GetResponseStream() : when is the response body transmitted?

c# - 什么是生成 ETag 的有效且处理成本低的算法?

.net - HttpContext 与 HttpListenerContext

javascript - Node.js/Express.js。如果与通配符路由器一起使用,则无法识别静态路由器