在PHP中通过Params传递一个完整的url


Pass a full url with Params in PHP

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

例如,我想传递这个url:

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

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

)
$url = $_GET['url'];
$str = file_get_contents($url);
echo $str;
所以完整的url应该是:

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

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

当你传递它的时候,试着在Android中编码。

您可以在这里使用URLEncoder进行编码:http://developer.android.com/reference/java/net/URLEncoder.html

你可以很容易地在PHP中使用urldecode取消编码。

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

简单使用php函数urlencode()。它将对示例中的URL进行如下编码:

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

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