XML-RPC Pings mit PHP
Die Nutzer von verbreiteterer Blog-Software wie z. B. Movable Type können die Hosts einfach eintragen, die bei einem Blog-Neueintrag angepingt werden sollen. Alle anderen können diese PHP Funktion benutzen:
function doPing($host, $path) {
$blog_title = "Mein schönes Blog";
$blog_url = "http://www.meinschoenesblog.de";
$timeout = 30; //Sekunden
$fp = fsockopen($host, 80, $errno, $errstr, $timeout);
if(!$fp) {
$response = 'Fehler: '.$errstr.' ('.$errno.')Es konnte keine Verbindung hergestellt werden';
} else {
$data_string = '<?xml version="1.0" encoding="iso-8859-1"?'.'>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param><value>'.$blog_title.'</value></param>
<param><value>'.$blog_url.'</value></param>
</params>
</methodCall>';
$data_header = "POST $path HTTP/1.0rn".
"Host: $hostrn".
"Content-Type: text/xmlrn".
"User-Agent: qxm XML-RPC Clientrn".
"Content-Length: ".strlen($data_string)."rnrn";
fputs($fp, $data_header);
fputs($fp, $data_string);
$response = '';
while(!feof($fp)) $response.=fgets($fp,2048);
fclose($fp);
$response = preg_replace("/.*</boolean>/si","",$response);
$response = preg_replace("/.*<value>/si","",$response);
$response = preg_replace("/</value>.*/si","",$response);
}
return '<h2>'.$host.'</h2>'.$response;
}
Bei $blog_title und $blog_url trägt man die entsprechenden Daten seines Weblogs ein, den Timeout kann man an eigene Bedürfnisse anpassen.
Aufgerufen wird die Funktion z. B. auf diese Weise:
$pingresult = array();
$pingresult[] = doPing("rpc.weblogs.com","/RPC2");
$pingresult[] = doPing("rpc.technorati.com“,"/rpc/ping");
$pingresult[] = doPing("xmlrpc.blogg.de“,"/");
echo join($pingresult);
Wenn diese Pings erfolgreich waren, sieht die Ausgabe ungefähr so wie auf dieser Abbildung aus: 
Will man weitere oder ganz andere URLs anpingen, macht man das nach diesem Muster: doPing(URL, Pfad). URL und Pfad bekommen Sie direkt bei den Diensteanbietern. Wird dort nur eine URL, aber kein Pfad angegeben, müssen Sie, wie in obigem Beispiel bei xmlrpc.blogg.de gezeigt, auf jeden Fall einen Slash übergeben.
Fröhliches Pingen!
Ähnliche Beiträge:
Was wäre, wenn ... Wie ich einmal unverhofft in einer Kneipe arbeiten musste
Kommentare:
Bei den Kommentaren handelt es sich um fremde Inhalte, die sich „esse est percipi“ nicht zueigen macht. Verantwortlich für den Inhalt eines Kommentars ist der jeweilige Verfasser.
Auch wenn dieser Beitrag hier schon fast sieben Jahre alt ist, so hat er mir doch sehr weitergeholfen.
Vielen Dank dafür. :)
Kommentar schreiben:
FAQ (Häufig gestellte Fragen)
Kommentare:
- Michael Preidel zu CookieCrumble Testflight jetzt auch für macOS
- Götz zu CookieCrumble Testflight jetzt auch für macOS
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Henning zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
Schlagwörter
