IT编程 > 开发语言 > c#

c#调用百度api主动推送提交链接,达到快速收录效果

130人参与2020-07-13

百度介绍说:主动推送是最为快速的提交方式,建议您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。

主动推送达到怎么样的效果:

及时发现:可以缩短百度爬虫发现您站点新链接的时间,使新发布的页面可以在第一时间被百度收录
       保护原创:对于网站的最新原创内容,使用主动推送功能可以快速通知到百度,使内容可以在转发之前被百度发现

主动推送当然需要一定的技术力量,如果对于不懂技术的站长就不建议使用主动推送。

如何使用主动推送:

1,需要网站制作推送接口,进入百度站长平台的普通收录的主动推送工具后,会看到接口调用地址和token,token是由16个英文数字组合的字符串

2.  编写代码进行api调用,推送url地址。百度上面有介绍一些调用的实例,我这里使用的是c#开发的推送接口,下面是代码:



/// <summary>
    /// 提交文章链接到百度
    /// </summary>
    /// <param name="url">文章的链接</param>
    /// <param name="IsOriginal">是否为原创</param>
    public static string PostBaidu(string url, bool IsOriginal,string strStie,string strToken)
    { 
        string urlPage = "http://data.zz.baidu.com/urls?site=" + strStie + "&token=" + strToken + "";
        //if (IsOriginal)
        //{
        //    urlPage += "&type=original";
        //} 
        HttpWebRequest request = null;
        Encoding encoding = Encoding.GetEncoding("utf-8");
        byte[] data = encoding.GetBytes(url);               //这里采用utf-8编码

        //设置提交的参数         
        request = WebRequest.Create(urlPage) as HttpWebRequest;
        request.Method = "POST";
        request.ContentType = "text/plain";
        request.ContentLength = data.Length;
        using (Stream requestStream = request.GetRequestStream())
        {
            requestStream.Write(data, 0, data.Length);
            requestStream.Flush();
            requestStream.Close();
        }

        //测试返回结果 
        HttpWebResponse response;
        try
        {
            response = (HttpWebResponse)request.GetResponse();

        }
        catch (WebException ex)
        {
            response = (HttpWebResponse)ex.Response;
        }
        Stream myResponseStream = response.GetResponseStream();
        StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
        string retString = myStreamReader.ReadToEnd();
        return retString;
    }


直接拷贝就可以正常使用调用。结果会返回成功与否的json字符串。需要了解更多的详细信息可以登录百度站长平台查看说明。

多个url同时推送时,把多个url拼接起来推送即可,如代码


foreach (var url in urls)
{
      strUrl += url+ "\n";
}


如果有调试时返回:{"remain":0,"success":0,"remain_original":0,"success_original":0}如此json串,说明你的发送参数有些问题,可以尝试修改或调整下代码。

您对本文有任何疑问!!点此进行留言回复

推荐阅读

猜你喜欢

c#调用百度api主动推送提交链接,达到快速收录效果

07-13

C# split分割字符串,依据1个或多个空格

07-18

md5加密串的不同方式

07-08

C# 获取当前时间戳的两种不同计算方式

07-08

unity3d实战c#语言编写坦克大战游戏

07-28

Unity实现新手引导镂空效果

06-23

大家都在看

c#调用百度api主动推送提交链接,达到快速收录效果

07-13

详解C#中的字符串拼接@ $

03-09

C#反射在实际应用中的实例代码

08-10

深入多线程之:解析线程的交会(Thread Rendezvous)详解

08-27

使用c#+IMap实现收取163邮件

07-19

详解c# 多态

08-17

.NET/C# 使用Stopwatch测量运行时间

03-22

让C# Excel导入导出 支持不同版本Office

08-14

拓展阅读

热门评论