2016-08-05 4 views
0

Ich möchte mein Paket über den lokalen Postdienst gesendet: http://tandt.posta.sk/en.Wie lese ich externen iframe über PHP oder JavaScript

Mit den Tracking-Informationen, zum Beispiel RF166699170SK, kann ich das Paket lokalisieren.

aber wenn ich es über PHP zum Beispiel curl_setopt, über file_get_contents oder eine andere Methode lesen möchte, lese ich nur HTML-Code, aber in der Ausgabe fehlenden Text zum Beispiel "Artikel bei Postamt Dlhé Pole", die ich sehen kann Seite.

, weil diese Seite Verwendung iframe mit einigen privaten Methode http://www.posta.sk/en/sps-embed#tnt?q=RF166699170SK

aber wenn ich versuche, diese Seite (iframe) zu lesen, Ausgabe Informationen über Paket zum Beispiel „Item am Post Dlhé Pole geschrieben“ fehlt.

Ausgang:

<!DOCTYPE html> 
<html class="embed"> 
    <head> 
    <link href="/sps/style.css?1450227250" media="screen,print" rel="stylesheet" type="text/css" /> 
    <link href="/sps/print.css?1445466449" media="print" rel="stylesheet" type="text/css" /> 
    <title>Slovenská pošta</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> 
    <meta name="format-detection" content="telephone=no"> 
    <meta name="google" value="notranslate"> 
    <script type="text/javascript">CONFIG={"api":"http://api.posta.sk/private","tntShare":{"en":"http://tandt.posta.sk/en/items/{number}","sk":"http://tandt.posta.sk/zasielky/{number}"},"lang":"sk","home":"http://www.posta.sk","embed":true}</script> 
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script> 
    <script src="/sps/script.js?1457665771" type="text/javascript"></script> 
     </head> 
    <body> 
    <script type="text/javascript"> 
//<![CDATA[ 
     var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
     document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 
//]]> 
</script><script type="text/javascript"> 
//<![CDATA[ 
     try { 
     var pageTracker = _gat._getTracker("UA-9600731-1"); 
     pageTracker._setDomainName("posta.sk"); 
     pageTracker._initData(); 
     pageTracker._trackPageview(); 
     } catch(err) {} 
//]]> 
</script> 
    </body> 
</html> 

Ist es möglich, über dieses Paket über PHP oder JavaScript zu lesen?

+0

Wenn Sie die Seite Netzwerkaktivität überprüfen können Sie sehen, dass http://api.posta.sk/private/search?q=RF166699170SK&m= tnt hat eine JSON-Antwort von dem, was Sie brauchen. Da es sich jedoch um den Pfad 'privat' handelt, würde ich vermuten, dass Sie die Erlaubnis benötigen, es auf Ihrer eigenen Website zu verwenden. – apokryfos

Antwort

0

Wenn Sie Netzwerkverbindung der page you linked überprüfen, können Sie sehen, dass dort einige Daten über JSON-Anfrage geladen werden. In Ihrem Beispiel werden Daten angefordert von http://api.posta.sk/private/search?q=RF166699170SK&m=tnt

Vielleicht wäre es der einfachste Weg, Daten direkt von diesem API zu erhalten, anstatt zu versuchen, das Ergebnis zu parsen. Der Schlüssel ist der gleiche. Sie können die Antwort in PHP wie folgt konvertieren:

<?php 
    $packageKey = 'RF166699170SK'; 
    $data = json_decode('http://api.posta.sk/private/search?q='.$packageKey.'&m=tnt', TRUE); 
?> 

Aber ich weiß nicht, ob sie von Ihrem Postdienst erlaubt ist. Sie sollten fragen, ob das verboten ist.

+0

vielen dank – Roman