PHP代理未传递URL参数


PHP proxy not passing URL arguments

我正在尝试将此请求代理到我的服务器:

http://10.0.1.26/port_3480/data_request?id=status&output_format=json&DeviceNum=79

使用我发现的一个简单的PHP代理:

<?php
$url = $_REQUEST['url'];  
if (preg_match('/'b(https?|ftp):'/'/*/', $url) !== 1) die;
echo (file_get_contents($url));
?>

但是变量参数没有传递。。。

我如何修改PHP脚本以从url中获取参数,我将其传递给代理,如下所示:

http://10.0.1.15/proxy.php?url=http://10.0.1.26/port_3480/data_request?id=status&output_format=json&DeviceNum=79

您只需要确保在将URL用作另一个URL中的参数之前对其进行了编码。你应该获取这个URL:

http://10.0.1.15/proxy.php?url=http%3A%2F%2F10.0.1.26%2Fport_3480%2Fdata_request%3Fid%3Dstatus%26output_format%3Djson%26DeviceNum%3D79