好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#主动POST推送URL链接到百度站长平台(支持提交、更新和删除URL链接)

C#推送链接URL到百度搜索资源平台提高收录量

/// <summary>

/// C#推送链接URL到百度搜索资源平台提高收录量

/// </summary>

public class PostUrlToBaidu

{

??/// <summary>

??/// 百度推送接口调用地址

??/// </summary>

?? private const string api_url_post = "http://data.zz.baidu.com/urls?site=www.csframework.com&token=T29eSA53UHSvJI4zq";

??private const string api_url_del = "http://data.zz.baidu.com/urls?site=www.csframework.com&token=T29eSA53UHSvJI4zq";

??private const string api_url_update = "http://data.zz.baidu.com/urls?site=www.csframework.com&token=T29eSA53UHSvJI4zq";

??

??/// <summary>

??/// 推送链接URL到百度搜索资源平台

??/// </summary>

??/// <param name="url"></param>

??/// <returns></returns>

?? public static PostUrlToBaiduResponse Post(string url)

??{

????return PostUrlToBaidu.PostUrl(api_url_post, url);

??}

??

??/// <summary>

??/// 更新链接url

??/// </summary>

??/// <param name="url"></param>

??/// <returns></returns>

?? public static PostUrlToBaiduResponse Update(string url)

??{

????return PostUrlToBaidu.PostUrl(api_url_update, url);

??}

??

??/// <summary>

??/// 删除链接url

??/// </summary>

??/// <param name="url"></param>

??/// <returns></returns>

?? public static PostUrlToBaiduResponse Delete(string url)

??{

????return PostUrlToBaidu.PostUrl(api_url_del, url);

??}

??

??/// <summary>

??/// POST方式调用百度站长平台(资源搜索平台)API接口

??/// </summary>

??/// <param name="baidu_api_url">百度API接口</param>

??/// <param name="my_url">URL地址</param>

??/// <returns></returns>

?? private static PostUrlToBaiduResponse PostUrl(string baidu_api_url, string my_url)

??{

????Stream outstream = null;

????Stream instream = null;

????StreamReader sr = null;

????HttpWebResponse response = null;

????HttpWebRequest request = null;

????

????// 准备请求...

???? try

????{

??????Encoding encoding = System.Text.Encoding.GetEncoding("gb2312");

??????byte[] data = encoding.GetBytes(my_url);

??????

??????// 设置参数

?????? request = WebRequest.Create(baidu_api_url) 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;

??????

??????PostUrlToBaiduResponse ret = Newtonsoft.Json.JsonConvert.DeserializeObject<PostUrlToBaiduResponse>(content);

??????return ret;

????}

????catch (Exception ex)

????{

??????//提交异常,出错原因有:token is not valid,远程服务器返回错误: (401) 未经授权。

?????? return new PostUrlToBaiduResponse { error = -1, message = ex.Message };

????}

??}

}


百度服务器回应:

/// <summary>

/// 百度服务器回应

/// </summary>

public class PostUrlToBaiduResponse

{

??public int remain { get; set; }

??public int success { get; set; }

??public int error { get; set; }

??public string message { get; set; }

??

??public override string ToString()

??{

????return $"remain:{remain},success:{success},error:{error},message:{message}";

??}

}


查看更多关于C#主动POST推送URL链接到百度站长平台(支持提交、更新和删除URL链接)的详细内容...

  阅读:100次