2010-10-23 3 views
1

Я использую этот код:PubSubHubbub ошибки, чтобы подтвердить подписку

<?php 
if(isset($_GET["hub_challenge"])) { 
echo $_GET["hub_challenge"]; 
} 
else { 

} 
$ch = curl_init("http://pubsubhubbub.appspot.com"); 
curl_setopt($ch, CURLOPT_POST, TRUE); 
curl_setopt($ch,CURLOPT_POSTFIELDS,"hub.mode=subscribe&hub.verify=sync&hub.callback=http://rssreaderbg.net/pubsubbub/example/index.php&hub.topic=http://rssreaderbg.net/blog/?feed=comments-rss2"); 
curl_exec($ch); 

file_put_contents("logmeme.txt",$HTTP_RAW_POST_DATA); 


?><?php 
if(isset($_GET["hub_challenge"])) { 
echo $_GET["hub_challenge"]; 
} 
else { 

} 
$ch = curl_init("http://pubsubhubbub.appspot.com"); 
curl_setopt($ch, CURLOPT_POST, TRUE); 
curl_setopt($ch,CURLOPT_POSTFIELDS,"hub.mode=subscribe&hub.verify=sync&hub.callback=http://rssreaderbg.net/pubsubbub/example/index.php&hub.topic=http://rssreaderbg.net/blog/?feed=comments-rss2"); 
curl_exec($ch); 

file_put_contents("logmeme.txt",$HTTP_RAW_POST_DATA); 


?> 

Но ступица в pubsubhubbub.appspot.com дает мне «ошибка при попытке подтвердить подписку», почему?

ответ

2

Простейшим решением является попытка выполнить проверку подписки самостоятельно. Отправьте запрос GET на ваш обратный вызов с параметрами explained in the spec. Убедитесь, что ваш обратный вызов возвращает 2XX и только эхосигнал hub.challenge, предоставляемый концентратором.

+0

Я меняю тип на асинхронный, и он работает! – lam3r4370

+0

Есть какая-то латентность, что я не заметил. Теперь это работает. Спасибо! – lam3r4370

Смежные вопросы