PHP代理不传递URL参数

时间:2016-08-06 20:54:21

标签: php proxy

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

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

1 个答案:

答案 0 :(得分:2)

在将网址用作其他网址中的参数之前,您只需确保该网址为encoded即可。您应该提取此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