用PHP中的Params传递一个完整的URL

时间:2013-01-07 01:14:09

标签: php android

我想在我的PHP脚本中传递一个url作为参数。该URL来自我的Android应用程序,该应用程序传递URL并且PHP脚本自定义格式化XML以返回到应用程序。所以我会传递我想要格式化的URL,PHP脚本会做一些事情并回应结果。

例如,我想传递这个网址:

  

differentwebpage.com/search/?query=ford%20f150&

在我的php脚本中(mywebpage.com/script.php):

$url = $_GET['url'];
$str = file_get_contents($url);
echo $str;

所以完整的网址是:

  

mywebpage.com/script.php?url=differentwebpage.com/search/?query=ford%20f150&

但这不起作用。我想我需要URL编码/解码但我没有取得任何成功。如何将完整的URL作为参数传递?

2 个答案:

答案 0 :(得分:1)

在传递时尝试在Android中对其进行编码。

您可以使用此处的URLEncoder进行编码:http://developer.android.com/reference/java/net/URLEncoder.html

然后,您可以使用urldecode轻松地在PHP中取消编码。

$url = urldecode($_GET['url']);
$str = file_get_contents($url);
echo $str;

答案 1 :(得分:0)

只需使用php函数urlencode()即可。它将在您的示例中对URL进行编码,如下所示:

differentwebpage.com%2Fsearch%2F%3Fquery%3Dford%2520f150%26

可以完全解码。并且只包含在URL中有效的字符。