FacebookグラフオブジェクトをスクレイピングするためにcURL GET
を作成しようとしています。
_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