web-dev-qa-db-de.com

CURL Get Request mit einem Parameter, der eine GET-URL enthält

Ich versuche, eine CURL GET zu erstellen, um ein Facebook Graph-Objekt zu entfernen:

GET https://graph.facebook.com/?id=**OBJECT_URL**&scrape=true&method=post

In meinem Fall enthält OBJECT_URLGET Parameter:

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

Aus diesem Grund kann ich es nicht als GET -Parameter in file_get_contents() oder CURLOPT_URL Haben, da es sich wie folgt herausstellen würde:

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

Gibt es eine Möglichkeit, es als GET -Parameter ähnlich wie CURLOPT_POSTFIELDS Zu übergeben?

16
Maxim Laco

Sie müssen Ihre Parameter entziehen, die Funktion http_build_query ist nützlich:

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

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

var_dump($url);

Dies wird Folgendes ausgeben:

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