13397158231   jevian_ma@worldflying.cn

通过ping提交向搜索引擎提交链接

2017-07-27 10:05:00

首先我们先来了解一下什么是Ping服务。ping是基于XML_RPC标准协议的更新通告服务,用于博客把内容更新快速通知给搜索引擎,以便搜索引擎及时进行抓取和更新。

上一篇文章我就是写的rss格式报文的相关材料,现在这篇教程需要结合这篇报文来实现推送消息的目的。

自动Ping的XML_RPC格式规定如下:

发送给搜索引擎Ping服务的XML-RPC客户请求需要包含如下元素:

RPC端点: 每个搜索引擎都不同,百度的是http://ping.baidu.com/ping/RPC2

调用方法名: weblogUpdates.extendedPing

参数: (应按照如下所列的相同顺序传送)

博客名称

博客首页地址

新发文章地址

博客rss地址

下面这段是百度收到的ping提交报文案例

Ping请求包的例子
weblogUpdates.extendedPing xml-rpc请求举例:
POST /ping/RPC2 HTTP/1.0
User-Agent: request
Host: ping.baidu.com
Content-Type: text/xml
Content-Length: 511

    weblogUpdates.extendedPing                        百度的空间                            http://hi.baidu.com/baidu/                            http://baidu.com/blog/example.html                            http://hi.baidu.com/baidu/rss

大家可以看到,提交方式是post提交,useragent,host等都是有严格的规定的。

下面我使用curl函数来实现向某个特定的链接发送ping提交。

function pingsubmit ( $host, $url , $link, $blogname, $blogurl, $blogrssaddr) {
    $httpheader = array (
        "POST ".$url." HTTP/1.0",
        "User-Agent: request",
        "Host: ".$host,
        "Content-Type: text/xml"
    );
    $post_string = 'weblogUpdates.extendedPing'.$blogname.''.$blogurl.'/'.$link.''.$blogrssaddr.'';
    $options = array(
        CURLOPT_URL            => "http://".$host.$url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $post_string,
        CURLOPT_HTTPHEADER     => $httpheader
    );
    $ch = curl_init();
    curl_setopt_array($ch, $options);
    $result = curl_exec($ch);
    curl_close($ch);
    if(strstr($result, '0') == null) {
        return false;
    }
    return true;
}

其中$host是ping提交地址的域名,$url是ping提交地址的参数部分,$link是您要提交的新博文地址,$blogname是您的博客名字,$blogurl是您提交的博客的域名,$blogrssaddr是您提交的博客的rss报文地址。

优秀产品推荐:可编程网络IO控制器

上一篇:如何编写rss订阅报文

下一篇:php将png转成jpg的方法

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务