ASP.net百度主動推送功能實現程式碼
阿新 • • 發佈:2020-09-16
官方提供了curl、post、php、ruby的實現示例,並沒有C#的官方示例。既然提供了post的方式,那麼就可以用C#實現,下面是實現程式碼:
ASP.net百度主動推送程式碼範例
public static string PostUrl(string[] urls) { try { string formUrl = "http://data.zz.baidu.com/urls?site=www.yoursite.com&token=yourcode"; 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,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; } }
呼叫的時候,把您的網址傳入
string info = PostUrl(new string[] { "//www.jb51.net/article/1.html","//www.jb51.net/article/2.html" });
返回的結果是{"remain":498,"success":2} 表示已經推送成功,還剩498條可以推送,本次已經推送成功2條。
另外附上可能出現的異常情況的返回碼資訊,供除錯用:
200 無使用方式錯誤,需要進一步觀察返回的內容是否正確
400 必選引數未提供
405 不支援的請求方式,我們只支援POST方式提交資料
411 HTTP頭中缺少Content-Length欄位
413 推送的資料過大,超過了10MB的限制
500 站長平臺伺服器內部錯誤
我實際應用程式碼
//點選按鈕觸發 protected void Button1_Click(object sender,EventArgs e) { string info = PostUrl(new string[] { "//www.jb51.net/","//www.jb51.net/article/3.html" }); this.Label1.Text= info; }
到此這篇關於ASP.net百度主動推送功能實現程式碼的文章就介紹到這了,更多相關ASP.net百度主動推送內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!