文章类型: .NET
关键词: C#,百度,站长平台,链接提交,主动推送,POST推送
内容摘要: 百度站长平台链接提交的主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录.C#实现百度站长工具链接主动提交功能

C#实现百度站长平台_链接提交_主动提交推送的POST推送功能

2016/1/23 12:37:09    来源:apple    阅读:

标签:

百度站长工具上提供了链接推送的功能,让广大站长更加方便的把自己的链接推送到百度,增加收录的机会和缩短收录时间(当然,百度也说了,你提交了链接,我不一定收录!)。

百度提供了好几种方式,有主动推送,自动推送,sitemap推送等。今天我们要说的就是主动推送,从字面意思上就可以明显的看出,主动推送,就是指站长自行将链接推送给百度。那么如何实现呢?其实原理很简单,就是把要推送的链接post到百度指定的地址去就可以了。

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

POST推送,c#代码实现

public string GetPage(string posturl, string postData)
        {
           
            Stream outstream = null;
            Stream instream = null;
            StreamReader sr = null;
            HttpWebResponse response = null;
            HttpWebRequest request = null;
            Encoding encoding = System.Text.Encoding.GetEncoding("gb2312");
            byte[] data = encoding.GetBytes(postData);            // 准备请求...
            try
            {                // 设置参数
                request = WebRequest.Create(posturl) as HttpWebRequest;
                CookieContainer cookieContainer = new CookieContainer();
                request.UserAgent = "curl/7.12.1";
                
                request.CookieContainer = cookieContainer;
                request.AllowAutoRedirect = true;
                request.Method = "POST";
                
                request.ContentType = "text/plain";
                request.ContentLength = data.Length;
                outstream = request.GetRequestStream();
                outstream.Write(data, 0, data.Length);
                outstream.Close();                //发送请求并获取相应回应数据
                response = request.GetResponse() as HttpWebResponse;//直到request.GetResponse()程序才开始向目标网页发送Post请求
                instream = response.GetResponseStream();
                sr = new StreamReader(instream, encoding);                //返回结果网页(html)代码
                string content = sr.ReadToEnd();                string err = string.Empty;                return content;
            }            catch (Exception ex)
            {                string err = ex.Message;                return err;
            }
        }


另一种实现如下:

下面我们用C#来实现,源代码如下:

//推送链接到百度
private string PostUrl(string data)
{
    try
    {
string url = "http://data.zz.baidu.com/urls?site=
这里改成你的网站域名
&token=
这里改成你自己的token
";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "post";
request.UserAgent = "curl/7.12.1";
request.ContentType = "text/plain";
request.ContentLength = data.Length;
//将参数转成byte数组并写到request中
Stream stream = request.GetRequestStream();
byte[] byt = Encoding.UTF8.GetBytes(data);
stream.Write(byt, 0, byt.Length);
stream.Close();
//获取响应
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
if (response.StatusCode == HttpStatusCode.OK)
{
   //注意这里要根据网站编码格式变换
   using (StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")))
   {
//返回请求结果
string result = sr.ReadToEnd();
response.Close();
return result;
   }
}
else
{
   //连接失败
   return null;
}
    }
    catch
    {
return null;
    }
}

调用代码:

PostUrl("你要推送的链接地址,比如http://www.mskj.cc/detail/1.html");

推送成功的话会返回如下格式的JSON字符串

{"remain:xxx","success":0},其中xxx表示你今天还能再推送多少条链接。一般新网站的话每天只可以推送500条,注意,推送重复的链接也是要减少条数的。

 

推送完毕后,第二天就可以看到前一天的推送情况。

使用过程中有问题可以回复留言即可。

↑ 上一篇文章:C#的WinForm开发中完美解决窗体中的各个控件同比自动放缩大小 关键词:C#,Winform,窗体,各个控件,同比例,自动放缩大.. 发布日期:2016/1/22 19:11:34
↓ 下一篇文章:C#的WinForm中回车键事件写法 关键词:C#,Winform,回车键,enter,事件,写法,K.. 发布日期:2016/1/26 21:05:57
相关文章:
C#中对于DataTable的Select筛选用法 关键词:C#,DataTable,Select,DataView,RowFilter 发布日期:2015-07-14 15:46
C#中的DataGridView使用“属性.属性”绑定数据 关键词:C#,DataGridView,使用,属性.属性,绑定数据 发布日期:2015-07-18 12:09
C#中DataGridView的多表数据展示的方法总结 关键词:C#,DataGridView,多表数据,展示,方法,总结 发布日期:2015-07-18 12:01
相关目录:.NET
我要评论
正在加载评论信息......