Saiyine
Punto Com

Pings XMLRPC con PHP super sencillos

2007-04-29 05:13:35

¡Que ven mis ojos, si Mayo ya está aquí­! Y además en menudas fechas caen el 1 y el 2, martes y miercoles, fiesta nacional el primero y madrileña el segundo, lo que unidas a una más que generosa polí­tica de puentes de mis empleadores, hacen que me vaya a pegar cinco dias sin pegar un palo al agua, y por el módico precio de aguantar los tremendos problemas de tráfico de la autovia que me separa de mi tierra.

Bueno, en realidad eso de estar sin dar ni golpe tampoco es que vaya mucho conmigo, así­ que voy a aprovechar para desfacer todos los entuertos que pueda en la página, empezando por una antiquisima petición de Yhandros que ha resultado la mar de simple: el enlace de comentar ya va directo a los comentarios. En realidad a mi me da igual, o incluso prefiero tener delante el texto que voy a mejorar con mis comentarios de calidad, pero si el vulgo lo demanda, que así­ sea.

Otra mejora que tenia en mente desde tiempos antediluvianos era añadir la capacidad de hacer pings XMLRPC...

Ya, ya sé que todos sabeis de sobra de que hablo, pero por si acaso alguien ha llegado tarde o no tiene en la mesilla de noche mi último bestseller "En la cama con Saiyine" debo contar que, resumiendo infinitamente, hacer ping es hacerse notar.

No sé de donde viene la equivalencia, aunque apostaria a un origen basado en los sonares activos: los tí­picos sonidos de las pelis de submarinos ¡PING! ¡PONG!, que no son más que una versión burra de la ecolocalización de los morciguillos. De verdad que no me quiero liar, aunque ya me conoceis y podria llenar hojas y hojas con los problemas que los sonares activos les causan a los cetaceos, los jueguecitos americanos y sovieticos en la guerra fria con los sonares, las otras aplicaciones informaticas que utilizan el concepto, la equivalencia fí­sica con otros sistemas similares como el radar o el lidar, o las ventajas de los sonares pasivos arrastrados, entiendo que todo eso os da igual y prefiero no espesar mucho la entrada.

Me limitaré a decir que hacer ping en el contexto de las páginas web es mandar una señal a otras webs diciendo, hey, que tengo un rollo nuevo, y esperar recibir el lógico pong de esas webs confirmando que han actualizado sus enlaces con la nueva información.

Los que useis Wordpress o basuras similares supongo que solo tendreis que bajaros el plujin adecuado y tan contentos, pero los que, como yo, prefieren que su página siga siendo suya al ciento por ciento, no estar a la merced de errores ajenos, o simplemente que les guste programar, estabamos abonados a usar librerias extrañas para hacer algo que en realidad se me antojaba sencillí­simo: enviar una petición web con una pizca de XML.

¿Solo para esa chorrada tengo que liarme con obtusas librerias experimentales??? Eso no va conmigo.

Así­ que en cuanto he tenido un rato, me he puesto al tema y lo he conseguido en unas poquisimas lineas. Ni siquiera he tenido que montarme historias de sockets como pensaba en un principio, los simples manejadores del PHP, que permiten acceder a una url como si fuera un fichero local me lo han dado todo practicamente hecho:

<?php

function ping($url)
{
  $params['http']['method'] = 'POST';
  $params['http']['content'] = '<?xml version="1.0"?>
<methodCall>
  <methodName>weblogUpdates.ping</methodName>
  <params>
    <param>
      <value>YOUR SITE TITLE</value>
    </param>
    <param>
      <value>http://YOUR BLOG URL</value>
    </param>
  </params>
</methodCall>';
  $params['http']['header'] = 'Content-Type: text/xml';
  $ctx = stream_context_create($params);
  $file = @fopen($url, 'rb', false, $ctx);
  if ($file)
  {
    $respuesta = @stream_get_contents($file);
  }
  return $respuesta;
}

echo ping('http://rpc.technorati.com/rpc/ping');

?>

Sencillisimo, ¿verdad?

Este PHP avisa a la conocida página technorati de que deberia echarle un vistazo a nuestra página. Lo suyo seria ejecutarlo cada vez que escribais un rollo en vuestras páginas, una vez actualizada la base de datos, y dejar que las visitas lleguen a trillones en busca de novedades.

Naturalmente, hay montones de páginas que se dedican simplemente a ser listas de las actualizaciones de otras como las nuestras, lamentablemente, tengo los enlaces en mi maquina portable, en cuanto la monte mando otro rollo con listas de direcicones a las que hacer ping para que vuestros blogs sean ultrafamosos y estén supervitaminados e hipermineralizados.

Rollos antiguos

2007-04-24 03:56:35 - Si que estan bien, hija.

2007-04-17 03:02:08 - Coldplay - The hardest part en español.

2007-04-12 02:59:09 - Goles y punteos.

2007-04-09 03:03:22 - Madrid connection.

2007-03-21 09:40:25 - Law and order.

Saiyine

Selfie of meHi! Welcome to Saiyine Punto Com where I talk about anything that goes through my mind!

Puedo prometer y prometo que a la mayor brevedad aquí irá un menú o algo asín.