zoukankan      html  css  js  c++  java
  • 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 + "
    ";
                }
     
                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;
            }
        }

    调用

    string info = PostUrl(new string[] { "http://www.xxx.com/1.html", "http://www.xxx.com/2.html" });

    返回的结果是{"remain":498,"success":2} 表示已经推送成功,还剩498条可以推送,本次已经推送成功2条。


    另外附上可能出现的异常情况的返回码信息,供调试用:
    200  无使用方式错误,需要进一步观察返回的内容是否正确
    400  必选参数未提供
    405  不支持的请求方式,我们只支持POST方式提交数据
    411  HTTP头中缺少Content-Length字段
    413  推送的数据过大,超过了10MB的限制
    422  HTTP头中Content-Length声明的长度和实际发送的数据长度不一致
    500  站长平台服务器内部错误

  • 相关阅读:
    ASP.NET MVC WebAPI 上传图片实例
    PowerDesigner设计权限控制数据模型
    ASP.NET中使用WebService异步加载数据显示到页面
    C#+Dotnetbar海益ERP数据管理系统
    centos 6.X minimal 系列最小化安装完成后,安装mono和jexus过程小记录
    MVC3/4伪静态 jexus mvc伪静态
    petapoco 使用 MiniProfiler Glimpse监控
    尝试整理出自己的开发框架1
    初尝Brnshop移植到Linux Mono Jexus环境运行
    (转)Android开发出来的APP在手机的安装路径是?
  • 原文地址:https://www.cnblogs.com/webapi/p/10677215.html
Copyright © 2011-2022 走看看