我有:
任务:将SOAP请求发送到本地IP并进行XML答案。
我知道如何实现SOAP请求,但我不了解如何使用PHP通过VPN连接本地IP。
例如,在这里我将XMLHttpRequest()发送给' url'变量。我可以直接访问' url'链接。但是当VPN背后的访问......
var url = "http://domain.com/MCAExportService/.....asmx";
function getKBM(client_iin) {
...
}
var xmlHTTP = new XMLHttpRequest();
xmlHTTP.open("POST", url, true);
...
xmlHTTP.send(xml_request);
UPD: 我在外部服务器上配置了LAMP。现在我需要编写一个脚本,它将SOAP请求发送到本地服务器,通过VPN-tunnel与外部服务器连接。 如何使用脚本从External访问本地服务器?然后向它发送请求?
答案 0 :(得分:0)
如果您的服务器具有简单的单IP地址配置,那么您可能最好对其进行硬编码 - 它是迄今为止最简单的选项。如果你想动态地确定它,这里有一些你希望有用的信息:
$ _ SERVER ['HTTP_HOST']包含在浏览器地址栏中输入的地址,以便访问该页面。如果您通过在浏览器中键入(例如)http://192.168.0.1/index.php来访问该页面,则$ _SERVER ['HTTP_HOST']将为192.168.0.1。 如果您使用DNS名称访问该页面,则gethostbyname($ _ SERVER ['HTTP_HOST']);将该DNS名称转换为IP地址。 $ _SERVER ['SERVER_NAME']包含已在Web服务器配置中配置的名称,作为其服务器名称。如果您打算使用它,您也可以在PHP中对其进行硬编码。 $ _SERVER ['SERVER_ADDR']将包含服务器主IP地址的操作系统。这可能是也可能不是用于访问页面的IP地址,它可能是也可能不是绑定了Web服务器的IP地址。它在很大程度上取决于操作系统和服如果服务器有一个IP地址,这可能是一个安全的赌注,尽管有些情况下这可能包含127.0.0.1。 缺点是,没有100%可靠的方法来确定Web服务器的保证工作IP地址,而不检查发送到Web服务器的信息,以便生成您正在创建的页面,如你说完全失败了它的目的。