标签:php curl facebook-graph-api facebook-php-sdk
我正在尝试使用cURL GET来抓取Facebook Graph对象:
GET https://graph.facebook.com/?id=**OBJECT_URL**&scrape=true&method=post
在我的例子中,OBJECT_URL包含GET参数:
https://www.example.com/og.php?a=b&c=d
出于这个原因,我不能将它作为file_get_contents()或CURLOPT_URL中的GET参数,因为它结果是这样的:
https://graph.facebook.com/?id=**https://www.example.com/og.php?a=b&c=d**&scrape=true&method=post
有没有办法以类似于CURLOPT_POSTFIELDS的方式将其作为GET参数传递?
解决方法:
你需要转义参数,http_build_query函数将是有用的:
$query = http_build_query([
'id' => 'http://foo?a=1&b=2',
'scrape' => true,
'method' => 'post'
]);
$url = "https://graph.facebook.com/?".$query;
var_dump($url);
这将输出:
https://graph.facebook.com/?id=http%3A%2F%2Ffoo%3Fa%3D1%26b%3D2&scrape=1&method=post
标签:php,curl,facebook-graph-api,facebook-php-sdk 来源: https://codeday.me/bug/20191006/1859398.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。