我想在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中有效的字符