当前位置: 移动技术网 > IT编程>开发语言>c# > c#调用百度api主动推送提交链接,达到快速收录效果

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

2020年07月13日  | 移动技术网IT编程  | 我要评论

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

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

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

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

如何使用主动推送:

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串,说明你的发送参数有些问题,可以尝试修改或调整下代码。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网