2016-03-23 6 views
-1

Ich habe und XML-URL von einem Lieferanten, der XML-Inhalt dynamisch mit PHP wie erzeugt;Wie bekomme ich XML-Inhalt, der von PHP generiert wird

http://www.example.com/outputxml/index.php?xml_service_id=161 

Diese URL ist gültig für eine statische IP, also gab ich ihm meine Websites hosting ip. Gibt es eine Möglichkeit, diese URL im Browser mit Daten-Scraping zu öffnen? Weil meine Internetverbindung keine statische IP hat.

Vielen Dank.

Ich habe unten Code versucht;

$url = 'http://www.example.com/outputxml/index.php?xml_service_id=161?'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml')); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); 
$result = curl_exec($ch); 
curl_close($ch); 
echo $result; 

Aber es gab HTML-Format.

+0

Sie meinen, sie haben ACL? Sie können versuchen, diese Anforderung über Ihren Server zu übernehmen. Oder Sie können eine Webseite auf Ihrem Server erstellen, die dies anzeigt. – frz3993

+0

Versuchen Sie 'echo file_get_contents (" http://www.example.com/outputxml/index.php?xml_service_id=161 ");' – frz3993

+0

@ frz3993 Ich habe diese Methode versucht und es eine leere Seite zurückgeben. –

Antwort

0

Speichern Sie den Inhalt auf Ihrem Server mit etwas wie einem wget und dann servieren Sie es. Bitte beachten Sie, dass Sie wahrscheinlich die Richtlinien des XML-Autors verletzen werden (ich kenne die Konsequenzen oder die Richtlinie selbst nicht, aber Sie sollten vorsichtig sein), also sollten Sie zumindest eine .htacces Authentifizierung unter Ihre hinzufügen Server-Seite, nur um die XML nicht öffentlich zu machen.

+0

Ich habe noch nie von wget gehört. Benötigt es Funktionsdateien zum Hochladen des Servers? Der Autor von xml weiß, dass ich den Zugriff auf die URL einschränken werde. –

+0

wget ist eine allgemeine Funktion zum Herunterladen von Daten von einem Server. Es kann von der Kommandozeile des Servers aus aufgerufen werden (wenn Sie keinen Webserver einrichten wollen und Sie wissen, dass sich das XML nicht ändern wird, schlage ich vor, genau das zu tun, wenn Sie mit cron auf Linux vertraut sind kann die Seite hin und wieder wetten). PHPs cURL (die ich auch als wget bezeichnete) funktioniert ähnlich: http://php.net/manual/en/book.curl.php – frollo

+0

Ich habe die Frage mit dem Code bearbeitet, den ich benutzt habe. Es gab nur HTML-Inhalt zurück. –

Verwandte Themen