从 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 地址(可能通过在您的路由器上配置端口转发),然后将您的请求定向到该地址。
我的本地机器上有一个软件 (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 地址(可能通过在您的路由器上配置端口转发),然后将您的请求定向到该地址。