今天才发现原来wordpress有自己的一个自动ping功能,只需要将搜索引擎的博客ping地址加上,就可以实现自动提醒搜索引擎来收录,这样就避免自己因为收录慢而被别人转载而把自己弄成非原创的悲惨结果。这里,我结合百度的自动ping要求和网上的一些代码,做了一个php实现的百度自动ping功能。
做这个有个前提,就是博客要有rss功能,其实就是解析为xml格式,专门为了信息较好传递的方式。别的先不说,上代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<?php function postUrl($url, $postvar) { $ch = curl_init(); $headers = array( "POST ".$url." HTTP/1.0", "Content-type: text/xml;charset=\"utf-8\"", "Accept: text/xml", "Content-length: ".strlen($postvar) ); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar); $res = curl_exec ($ch); curl_close ($ch); return $res; } $baiduXML = " <?xml version=\"1.0\" encoding=\"UTF-8\"?> <methodCall> <methodName>weblogUpdates.extendedPing</methodName> <params> <param><value><string>菜鸟程序员的提升之道</string></value></param> <param><value><string>http://www.521php.com</string></value></param> <param><value><string>http://www.521php.com/archives/879/</string></value></param> <param><value><string>http://www.521php.com/feed/</string></value></param> </params> </methodCall>"; $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML); //下面是返回成功与否的判断(根据百度ping的接口说明) if (strpos($res, "<int>0</int>")) echo "PING成功"; else echo "PING失败"; ?> |
上面的代码就可以实现百度的自动ping,而wordpress有Ping、Pingback、Trackback的区别,这也就是为什么有的人转了你的文章的时候你会发现你的这个文章下面会有个留言,内容就是文章内容,其实就是pingback做的自动留言。详细细节我不多说,大家可以上网查一些这三个的区别!
本文链接:http://www.521php.com/archives/885/
程序本天成,妙手偶得之!我们只是代码的搬运工!
转载请注明:http://www.521php.com/archives/885/
2013年08月17日 上午 7:25 相片墙图片 | 引用 | #1
非常喜欢博主的文章。。。。欢迎回访