кто разбирался с пингованием Яндекса?

G
На сайте с 17.10.2006
Offline
15
851

На данный момент занимаюсь разработкой движка блога

и пытаюсь интегрировать в него пинговалку для Яндекса.

Шлю значит ему вот такой запрос (название и описание сайта, как вы понимете, искажены ;))

POST /RPC2 HTTP/1.0

User-Agent: Radio UserLand/7.1b7 (WinNT)
Host: ping.blogs.yandex.ru
Content-Type: text/xml
Content-length: 238


<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param>
<value>NICE SITE</value>
</param>
<param>
<value>http://this-is-nice-site.ru</value>
</param>
</params>
</methodCall>

в ответ мне шлется следующее

HTTP/1.0 200 OK

Connection: close
Content-Length: 0
Date: Thu, 06 Dec 2007 08:10:35 GMT
Server: lighttpd/1.4.11

тело ответа пустое..

Имел кто-то опыт с пингованием? Интересует, это - корректный ответ Яндекса или нет?

Буржуйские аналогичные сервисы в ответе всегда пишут что-то вроде "thanks for pinging".

По тому бедному описанию, что дано на мониторилке пингов Яндекса, не понятно, что является признаком его корректного ответа.

P.S. Поскольку тестировалось на новом домене, и за несколько дней никакой бот

от яндекса не приходил, имеется подозрение, что я что-то делаю не так...

UnlimitedZ
На сайте с 30.10.2007
Offline
12
#1

<?

function pingoo($name, $url){
$xml = '<?xml version="1.0"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param>
<value>$name</value>
</param>
<param>
<value>$url</value>
</param>
</params>
</methodCall>';
$url = parse_url("http://ping.blogs.yandex.ru/RPC2");
if($sock = fsockopen($url['host'], 80, $errno, $errstr, 10)){
$path = (isset($url['path']))?$url['path']:"/";
$out = "POST $path HTTP/1.0\r\n";
$out .= "User-Agent: UnlimiteD Agent/7.1b7 (WinNT)\r\n";
$out .= "Host: $url[host]\r\n";
$out .= "Content-Type: text/xml\r\n";
$out .= "Content-length: 250\r\n\r\n";
fputs($sock, $out.$xml);
/*
while(!feof($sock)){
echo fread($sock, 1024);
}
*/
fclose($sock);

}

}
pingoo("Scripting News", "http://www.scripting.com/");
?>

ответ сервера

HTTP/1.0 200 OK

Connection: close
Content-type: text/xml
Content-Length: 379
Date: Thu, 06 Dec 2007 11:32:36 GMT
Server: lighttpd/1.4.11

<?xml version="1.0"?>
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>flerror</name>
<value>
<boolean>0</boolean>
</value>
</member>
<member>
<name>message</name>
<value>Thanks for the ping.</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
G
На сайте с 17.10.2006
Offline
15
#2

2 UnlimitedZ: спасибо большое, теперь и меня Яндекс поблагодарил 😆

Я так понимаю, ключевым оказывается то, что длину HTTP-пакета

нужно указывать 250, а не реальную.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий