标签:
百度站长工具上提供了链接推送的功能,让广大站长更加方便的把自己的链接推送到百度,增加收录的机会和缩短收录时间(当然,百度也说了,你提交了链接,我不一定收录!)。
百度提供了好几种方式,有主动推送,自动推送,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条,注意,推送重复的链接也是要减少条数的。
推送完毕后,第二天就可以看到前一天的推送情况。
使用过程中有问题可以回复留言即可。