2015-09-15 13 views
6

Ich versuche, eine CURL GET erstellen Facebook Open Graph-Objekt zu kratzen:CURL Get Anfrage mit einem Parameter, der eine GET-URL enthält

https://graph.facebook.com/?id=OBJECT_URL & schaben = true & Methode GET = post

In meinem Fall enthält OBJECT_URL Parameter GET:

https://www.example.com/og.php?a=b&c=d

Aus diesem Grund kann ich nicht ha habe es als GET-Parameter in file_get_contents() oder CURLOPT_URL, da es so etwas herausstellen würde:

https://graph.facebook.com/?id=https://www.example.com/og.php?a=b&c=d & schaben = true & method = post

einen Weg, es Gibt es zu passieren als GET-Parameter ähnlich wie CURLOPT_POSTFIELDS?

Antwort

14

Sie benötigen Parameter zu entkommen, die http_build_query Funktion nützlich sein:

$query = http_build_query([ 
'id' => 'http://foo?a=1&b=2', 
'scrape' => true, 
'method' => 'post' 
]); 

$url = "https://graph.facebook.com/?".$query; 

var_dump($url); 

erhalten Sie folgende Ausgabe:

https://graph.facebook.com/?id=http%3A%2F%2Ffoo%3Fa%3D1%26b%3D2&scrape=1&method=post 
+0

Ich habe etwas Neues gelernt, danke :) –