2017-03-14 7 views
-1

Ich versuche, eine Curl-PHP-Anfrage zu machen, um einige JSON-Daten auf der Seite anzuzeigen.Curl PHP-GET-Anfrage - 504

Das Problem, das ich hier habe, ist, dass ich immer mit einem 504 Gateway Timeout getroffen werde.

Also hüpfte ich, um ein zweites Augenpaar auf meinen Code zu bekommen, um sicherzugehen, dass ich nichts Dummes mache oder etwas verpasse.

// get request 
$ch = curl_init('http://*****'); 
$token = '****'; 

// Return Data 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLINFO_HEADER_OUT, true); 

//User Agent 
curl_setopt($ch, CURLOPT_USERAGENT, 'Fiddler'); 

//Set your auth headers 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Host: ****:8090', 
    'Content-Type: application/json', 
    'Authorization: Bearer '.$token 
    )); 

$data = curl_exec($ch); 

$info = curl_getinfo($ch); 

// print details of request on page 
echo 'info:' . $info ; 

// close curl resource to free up system resources 
curl_close($ch); 
+0

Ich weiß nicht, dass wir Ihnen dabei helfen können. Aus funktionaler Sicht sieht Ihr Code gut aus. Sie müssen sich an den Support für diese Website wenden, um zu sehen, was noch alles möglich ist. – Machavity

+0

@Machavity Ich dachte, das könnte der Fall sein. Wollte nur eine zweite Meinung zuerst. Danke – DCdaz

+0

Dein Code funktioniert meistens. Haben Sie die Verbindung von Ihrem Server zur Remoteverbindung überprüft? Antworten sie auf Anfragen auf Port 80 oder 443 von Ihrem Server? Antworten sie mit einer ungültigen Anfrage, wenn Sie Ihre Anfrage ohne das Token machen? –

Antwort

1

Problem war, dass die Firewalls des Host-Anfragen auf bestimmte Ports wurden blockiert und ich musste sie bekommen die Häfen, um zu entsperren, damit es funktioniert .

0

Sie haben einen Fehler in Header, müssen die Host enthalten nur den Hostnamen Host: *****:8090.

Es muss so sein: Host: google.com.

Der Port muss mit curl_setopt() angegeben werden, wie folgt aus:

curl_setopt($ch, CURLOPT_PORT, 8090); 
+0

Hinzufügen zu @ Kark92's Antwort, Sie versuchen auch, ein Array ($ Daten) auszuhacken, aber das ist nutzlos, bis Sie Ihre Daten wieder an erster Stelle bekommen. –

+0

Tried kein Unterschied sorry – DCdaz

+0

Entfernen Sie 'http: //' on 'curl_init()' und versuchen Sie es erneut. – Karkouch