通过PHP发送获取请求 - 无卷曲
我没有卷曲可用于这个旧系统(PHP4),因此无法使用,更新或添加。它不是一台生产机器,只用于内部使用。通过PHP发送获取请求 - 无卷曲
在我的浏览器,我可以输入以下命令:
http://192.168.0.1/device?action=COMMAND
,并在192.168.0.1设备将动作命令传递给它。 这很好,有用。对此设备的访问仅限于一组特定的IP地址。
我希望能够从PHP脚本中调用该URL。我的PHP服务器在批准的列表中,所以这不成问题。
我试过file_get_contents和fread,但都没有工作。
任何任何想法,我可以尝试吗?
感谢
您可以使用此去:
http_get('http://192.168.0.1/device', $ArrayOfParameters);
然而,你可能需要看看sockets
或者你可以看看Pecl_Http
您不应该使用PHP 4
。它已停产,因此不会收到任何安全补丁。 - PHP 4 Discountinued
这应该工作:
function GetRequest($URL){
$get = @file_get_contents($URL);
if($get === FALSE)
return 0;
return $get;
}
使用:
$result = GetRequest("http://localhost/test.php?foo=bar");
还检查什么IP如果你的IP限制你的服务器上运行。
谢谢 - 我已经做到了,并echo'd $结果返回0 没有错误显示,但似乎没有发生。 如果我在我的浏览器中使用与GetRequest中使用的相同的URL,它将起作用。 我需要做的就是发送一个GET请求到IP地址,我需要使用用户: http://192.168.0.1/device?action=COMMAND 上192.168.0.1设备应该再行动我会看到在日志中的命令。 – JeffVader
该文件没有被找到,你有没有尝试只是做'$ result = GetRequest(“http://192.168.0.1/”);'如果你'print_r($ result);'之后得到0那么它的原因是你的服务器在ACL中被192.168.0.1 –
拒绝。我删除了所有其他条目,现在它从我的浏览器中失败,所以我知道该设置已更新。 我只添加了该IP地址,我仍然得到0 是不是因为我使用的是: http://192.168.0.1/device?action=COMMAND 和Not: HTTP:/ /192.168.0.1/device.php?action=COMMAND – JeffVader
感谢您的回复。这个盒子没有http_get支持,所以我又被卡住了。 – JeffVader
@JeffVader - 你不应该使用PHP 4.我的回答说,它已经停止 –