我想在我的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作为参数传递?
答案 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中有效的字符。