从 Web 应用程序访问本地主机

Access localhost from web application

我的本地机器上有一个软件 (Tally) 运行ning。本软件可以运行作为服务器(http://localhost,端口号9000)。 API 调用可以使用此 URL 导入和导出数据。 我可以从远程 Web 服务器中的应用程序 运行ning 向本地服务器发出 http 请求吗?

我试着从网络服务器这样做:

var request = require('request');
var options = {
    uri: 'http://192.168.0.3:9000',
    method: 'GET'
};
request(options, function (error, response, body) {
    if (error) {
        console.log("Invalid Network Details");
    } else {
        if (response.statusCode == 200) {
            console.log(body);
        } else {
            console.log("Unauthorized Access!!");
        }
    }
});

我得到一个输出 "Invalid network Details"

我不知道理货应用程序,但在我看来,您应该在防火墙中打开 9000 端口(如果您的网络服务器位于不同的网络中,则在您的路由器中打开)。 在您的应用程序中,您必须使用本地计算机的 ip(如果您在同一网络中)或本地计算机的 public 地址(如果你的电脑和你的网络服务器在不同的网络上)。

PD。您的 public 地址通常每 x 次更改一次(可能是一天,也可能是一个月),所以我会使用 noip o 之类的东西。

你说

Not in the same LAN

http://192.168.0.3:9000

该 IP 地址在 private IPv4 address space 中。无法(直接)通过 Internet 访问它。

您需要为服务器提供一个面向 public 的 IP 地址(可能通过在您的路由器上配置端口转发),然后将您的请求定向到该地址。