从Web应用程序访问localhost

时间:2017-11-06 07:03:00

标签: localhost webserver tally

我在本地计算机上运行了一个软件(Tally)。该软件可以作为服务器运行(http://localhost,端口号9000)。可以使用此URL进行API调用以导入和导出数据。 我是否可以从运行在远程Web服务器中的应用程序向此本地服务器发出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!!");
        }
    }
});

我收到输出“无效的网络详细信息”

2 个答案:

答案 0 :(得分:0)

我不知道计数应用程序,但在我看来,您应该打开防火墙中的9000端口(如果您的网络服务器位于不同的网络中,则打开路由器)。 在您的应用程序中,您不必在远程网络服务器中使用http://localhost,而是必须使用本地计算机的IP(如果您在同一网络中)或本地计算机的公共地址(如果您的计算机和您的网络服务器在不同的网络上。)

PD。你的公共地址通常每x次更改一次(可能是一个月的日子),所以我会使用noip等。

答案 1 :(得分:0)

你说

  

不在同一个局域网

http://192.168.0.3:9000

该IP地址位于private IPv4 address space。它无法通过互联网(直接)访问。

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