En lo que a ti respecta a hacer la petición XML-RPC (Example #1).
Si sigue la specification of a pingback, se vería así:
$sourceURI = 'http://example.com/';
$targetURI = 'http://example.com/';
$service = 'http://blogsearch.google.com/ping/RPC2';
$request = xmlrpc_encode_request("pingback.ping", array($sourceURI, $targetURI));
$context = stream_context_create(array('http' => array(
'method' => "POST",
'header' => "Content-Type: text/xml",
'content' => $request
)));
$file = file_get_contents($service, false, $context);
$response = xmlrpc_decode($file);
if ($response && xmlrpc_is_fault($response)) {
trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
print_r($response);
}
que le daría el siguiente resultado:
Array
(
[flerror] =>
[message] => Thanks for the ping.
)
Generalmente, si usted no sabe qué método se llama , también puedes probar XML-RPC Introspection, pero no todos los servidores XML-RPC ofrecen eso.
Se preguntó en un comentario:
De acuerdo a las especificaciones, $targetURI
debería ser: "El destino del enlace en el sitio de origen Esta debe ser una página habilitado-pingback". ¿Cómo puedo hacer que pingback active la página, o más importante, qué es eso en realidad?
Un sitio habilitado para pingback es un sitio web que también anuncia un servicio de pinback de XML-RPC. Eso se hace con el elemento HTMl <link>
en la sección <head>
. Ejemplo:
<link rel="pingback" href="http://hakre.wordpress.com/xmlrpc.php" />
Los href
puntos a un punto final XML-RPC que tiene el método pingback.ping
disponible.
O se hace mediante el envío de un encabezado de respuesta HTTP specifc:
X-Pingback: http://charlie.example.com/pingback/xmlrpc
Ver pingback-enabled resource.
Por lo tanto, si hace ping a otros, otros también deberían poder hacer un ping.
Debería realizar una solicitud fácilmente siguiendo la documentación de PHP. No sé el método o qué variables necesito enviar. Realmente me gustaría consultar si puedes publicar un enlace a la documentación de google, ya que no puedo encontrarlo. – dario111cro
@ dario111cro: agregué las especificaciones y extendí el código de ejemplo. – hakre
Muchas gracias. – dario111cro