代码实现百度的自动Ping服务

admin5年前 (2016-08-17)网站设计133

为了加快网站页面收录,seo人员可通过网站外链建设来实现,seo外链专员就是做这个工作的。还有一种方式是向搜索引擎提交网站的URL,这就是百度的Ping服务

ping是基于XML_RPC标准协议的更新通告服务,它能快速的将网站内容的更新通知百度,便于百度及时抓取。详细的协议规则请参考什么是Ping服务

百度的Ping服务给我们提供了两种方式,一是手动Ping,链接地址是http://ping.baidu.com/ping.html,操作界面如下图image

二是自动Ping服务,需要通过代码去实现,已经有很多的博客系统都自带了这项功能,曾经在一套C#开源系统中也实现了自动Ping百度,代码展示如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
                                      
namespace YCYcms.Common
{
    /// <summary>
    /// 百度相关类
    /// </summary>
    public class BaiDu
    {
        /// <summary>
        /// 推送链接至百度
        /// </summary>
        /// <param name="urls">链接集合</param>
        /// <returns></returns>
        public static string sendUrlToBaidu(string[] urls)
        {
            try
            {
                string formUrl = " http://data.zz.baidu.com/urls?site=www.qishunnet.com&token=FdSmdb3LRa4JitQp";
                                      
                string formData = "";
                                      
                foreach (string url in urls)
                {
                    formData += url + "\n";
                }
                                      
                byte[] postData = System.Text.Encoding.UTF8.GetBytes(formData);
                                      
                // 设置提交的相关参数   
                System.Net.HttpWebRequest request = System.Net.WebRequest.Create(formUrl) as System.Net.HttpWebRequest;
                System.Text.Encoding myEncoding = System.Text.Encoding.UTF8;
                request.Method = "POST";
                request.KeepAlive = false;
                request.AllowAutoRedirect = true;
                request.ContentType = "text/plain";
                request.UserAgent = "curl/7.12.1";
                request.ContentLength = postData.Length;
                                      
                // 提交请求数据   
                System.IO.Stream outputStream = request.GetRequestStream();
                outputStream.Write(postData, 0, postData.Length);
                outputStream.Close();
                                      
                System.Net.HttpWebResponse response;
                System.IO.Stream responseStream;
                System.IO.StreamReader reader;
                string srcString;
                response = request.GetResponse() as System.Net.HttpWebResponse;
                responseStream = response.GetResponseStream();
                reader = new System.IO.StreamReader(responseStream, System.Text.Encoding.GetEncoding("UTF-8"));
                srcString = reader.ReadToEnd();
                string result = srcString;   //返回值赋值  
                reader.Close();
                return result;
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
        }
    }
}

这段代码就实现了百度的自动Ping服务,当新增或修改内容时,就可以调用这个方法通知百度,就是给百度传个话,我有更新内容了,有空就过来收录吧,当然最终能否收录,还取决于网站的其它诸多因素。

相关文章

asp版zblog文章分类页设计处理

asp版zblog文章分类页设计处理

zblog是一款非常优秀的cms程序,由RainbowSoft Studio团队开发,因其小巧强大而广泛用于博客程序的使用,目前有asp和php两个版本。这里以asp版本的zblog程序为例,讲解zb...

从seo的角度看网站建设

从seo的角度看网站建设

说起网站建设,大家都感觉很容易,特别是现在cms系统的出现,将网站建设的门槛降低了很多,而且我们还时常在一些社交群里看到几百块网站建设的。网站建设似乎不再是技术活,而变成只要是懂一点网络操作的人都能做...

sql server如何从存储过程中查找指定的内容

sql server如何从存储过程中查找指定的内容

今天公司系统异常的慢,通过数据库监测发现是由于一段查询所引起。不过由于系统庞大,很难去定位这段sql查询是系统里那里的执行代码。那么如何去从这拥有400多张表,100多个存储过程的数据库中找到是哪个存...

Serializable引起System.StackOverFlowException

Serializable引起System.StackOverFlowException

场景:web client + webapi,涉及到对象序列化传输的对象使用Serializable属性时的调试效果,出现堆栈溢出,iisexpress也挂掉了。出现这个问题,一般也难找出问题所在,但...

discuz论坛全站关键标签伪静态问题

当我们采用discuz论坛程序建设的网站伪静态后,在论坛版块里面点击帖子转到帖子内容页是伪静态的地址。但是当我们点击论坛首页上面出现的“最后发表”“最新发表”等帖子标题时转到的具体的帖子内容页后发现帖...

网站安全之防止重放攻击

网站安全之防止重放攻击

网站设计中有一项——网站安全是需要开发人员去考虑的,今天要讲的是网站安全中的重放攻击。什么是重放攻击?如何防止重放攻击?重放攻击(Replay Attacks)又称重播攻击、回放攻击或新鲜性攻击(Fr...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。