2

Ich habe versucht, die Bilddaten meines Facebook-Profils Bild, mit file_get_contents und curl abrufen.PHP - Abrufen von Facebook-Bild in Google Compute Engine

Das Problem tritt auf meiner Google Compute Engine-Instanz, während auf einem anderen Server (localhost - MAMP, AWS) das Skript gut funktioniert.

Ein Beispiel für eine der Skripte I

<?php 

var_dump(
    json_decode(
     file_get_contents("https://graph.facebook.com/_FACEBOOK_ID_/picture?width=720&height=720") 
    ) 
); 

wurde unter Verwendung Beachten Sie bitte, dass ich versucht habe, mit dem Parameter Redirect = false und den Zugriff auf die Bild-URL Ich habe in meinem JSON-Antwort kehrte auch falsch zurück.

Auch habe ich versucht, mit wget in SSH auf die URL des Bildes, die (403) Forbidden zurückgegeben.

Meine Annahme ist, dass ich etwas anders auf meinem Server konfigurieren muss, nicht PHP, sondern weil ich jedes andere Bild mit dem gleichen Skript abrufen kann - ich bin mir nicht sicher was.

+0

Einige Websites verweigern die Bereitstellung von Inhalten, wenn kein gültiger Benutzeragent festgelegt wurde. Ich hatte dieses Problem einmal und löste es, indem ich einen Firefox User Agent Header innerhalb von curl einstellte. – mondjunge

Antwort

1

Ich habe bereits genau dieses Problem aufgetreten ist, SSL Überprüfung Ignorieren während cURL den Trick für mich getan hat.

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Ignore SSL verification 
curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/_FACEBOOK_ID_/picture?width=720&height=720"); 
$data = curl_exec($ch); 
curl_close($ch); 

var_dump($data); 
+0

das hat funktioniert! erstaunlich, wie einfach das ist. – LironXYZ

Verwandte Themen