C#实现百度ping功能
网站优化必做的事情之一,百度ping,主动推送给百度
文章添加时调用百度推送方法
//保存 protected void btnSubmit_Click(object sender, EventArgs e) { if (action == DTEnums.ActionEnum.Edit.ToString()) //修改 { ChkAdminLevel("channel_" + this.channel_name + "_list", DTEnums.ActionEnum.Edit.ToString()); //检查权限 if (!DoEdit(this.id)) { JscriptMsg("保存过程中发生错误啦!", string.Empty); return; } JscriptMsg("修改信息成功!", "article_list.aspx?channel_id=" + this.channel_id); } else //添加 { ChkAdminLevel("channel_" + this.channel_name + "_list", DTEnums.ActionEnum.Add.ToString()); //检查权限 int id=DoAdd(); //此 id为添加文章返回的 此篇文章的id 需要修改添加文章的方法 返回id if (!(id>0)) { JscriptMsg("保存过程中发生错误!", string.Empty); return; } //获取频道模板名称 if (channel_id == 13 || channel_id == 16 || channel_id == 18 || channel_id == 25 || channel_id == 6) { string channelTemp = new BLL.channel().GetModel(this.channel_id).name.ToString(); string articleUrl = new BasePage().linkurl(channelTemp + "_show", id); string[] url = new string[100]; url[1] = "http://www.qishunnet.com" + articleUrl;//例如生成的url如http://www.qishunnet.com/knowledge_show_132.html string info = DTcms.Common.BaiDu.sendUrlToBaidu(url); JscriptMsg("添加信息成功!", "article_list.aspx?channel_id=" + this.channel_id + "&message=添加信息成功!百度推送返回信息=" + info + "url:" + url[1]); return; } JscriptMsg("添加信息成功!", "article_list.aspx?channel_id=" + this.channel_id); } }
common类库增加百度ping方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DTcms.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; } } } }