Php 如何将url转换为类似浏览器的url?( ...%20... )

Php 如何将url转换为类似浏览器的url?( ...%20... ),php,curl,Php,Curl,我想使用CURL获取数据,但我有一个问题。当我像这样设置url时 $url = "https://graph.facebook.com/fql?q=SELECT name FROM page"; // continues 我没有什么东西要还。当我复制浏览器url时,这是 $url = "https://graph.facebook.com/fql?q=SELECT%20name%20FROM%20page"; 我通过旋度得到结果。我试过htmlentities和htmlspecialchar

我想使用CURL获取数据,但我有一个问题。当我像这样设置url时

$url = "https://graph.facebook.com/fql?q=SELECT name FROM page"; // continues
我没有什么东西要还。当我复制浏览器url时,这是

$url = "https://graph.facebook.com/fql?q=SELECT%20name%20FROM%20page";

我通过旋度得到结果。我试过htmlentities和htmlspecialchars,但运气不好

我错过了什么

  $ch = curl_init($url);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  $content = curl_exec($ch);
那怎么办

那怎么办

您可以使用urlencode$string;在curl_init中;或者在前面调用urlencode并将其设置为如下所示的变量:

例如:

php文档:

不正确使用:和 htmlspecialchars用于去除URI字符串中的字符和清理数据。使用urldecode将%20等解码为正确的字符串

相反,使用urlencode$string;要将空格、斜杠、符号和其他元素转换为它们各自的URL友好对应项。

您可以使用urlencode$string;在curl_init中;或者在前面调用urlencode并将其设置为如下所示的变量:

例如:

php文档:

不正确使用:和 htmlspecialchars用于去除URI字符串中的字符和清理数据。使用urldecode将%20等解码为正确的字符串

相反,使用urlencode$string;将空格、斜杠、符号和其他元素转换为它们各自的URL友好对应项。

查看此操作是否有效

  $ch = curl_init(urlencode($url));
看看这是否有效

  $ch = curl_init(urlencode($url));

与实体或特殊字符无关,但与urlencode/decode.htmlspecialchars和htmlspecialchars有很大关系?URL不是HTML!与实体或特殊字符无关,但与urlencode/decode.htmlspecialchars和htmlspecialchars有很大关系?URL不是HTML!谢谢你。不过我有一些困难。这是我的实际url$url=https://graph.facebook.com/fql?q=SELECT 来自页面的名称,其中页面id插入选择页面id,从页面管理中键入,其中uid=me并键入!='应用程序“&access\u令牌=”$facebook->getAccessToken;然后将查询部分在?q=之后传递给urlencode;然后将url和查询参数连接在一起,然后将其传递给curl。我更新了我的答案以反映一个实际的例子。谢谢你,迈克。它给了我一个错误,因为&access\u token=$facebook->getAccessToken。我将它移动到一个新变量中,并将其添加到$url。$ch中,它就可以工作了。谢谢你。不过我有一些困难。这是我的实际url$url=https://graph.facebook.com/fql?q=SELECT 来自页面的名称,其中页面id插入选择页面id,从页面管理中键入,其中uid=me并键入!='应用程序“&access\u令牌=”$facebook->getAccessToken;然后将查询部分在?q=之后传递给urlencode;然后将url和查询参数连接在一起,然后将其传递给curl。我更新了我的答案以反映一个实际的例子。谢谢你,迈克。它给了我一个错误,因为&access\u token=$facebook->getAccessToken。我将它移动到一个新变量中,并将其添加到$url。$ch中,它就可以工作了。谢谢你。不过我有一些困难。这是我的实际url$url=https://graph.facebook.com/fql?q=SELECT 来自页面的名称,其中页面id插入选择页面id,从页面管理中键入,其中uid=me并键入!='应用程序“&access\u令牌=”$facebook->getAccessToken;谢谢你。不过我有一些困难。这是我的实际url$url=https://graph.facebook.com/fql?q=SELECT 来自页面的名称,其中页面id插入选择页面id,从页面管理中键入,其中uid=me并键入!='应用程序“&access\u令牌=”$facebook->getAccessToken;
  $ch = curl_init(urlencode($url));