首页 > 代码库 > C# 之HTTP请求get,post带重试参数
C# 之HTTP请求get,post带重试参数
public class WebHttp { /// <summary> /// get请求带重试 /// </summary> /// <param name="Url"></param> /// <param name="postDataStr"></param> /// <param name="sum"></param> /// <returns></returns> public static string HttpGet(string Url, string postDataStr, int sum) { string temp=null; for (int i = 0; i < sum; i++) { if (string.IsNullOrEmpty(temp) || string.IsNullOrEmpty(temp.Trim())) { temp = HttpGet(Url, postDataStr); } else { break; } } return temp; } /// <summary> /// post请求带重试 /// </summary> /// <param name="Url"></param> /// <param name="postDataStr"></param> /// <param name="sum"></param> /// <returns></returns> public static string HttpPost(string Url, string postDataStr, int sum) { string temp = null; for (int i = 0; i < sum; i++) { if (string.IsNullOrEmpty(temp) || string.IsNullOrEmpty(temp.Trim())) { temp = HttpPost(Url, postDataStr); } else { break; } } return temp; } /// <summary> /// GET请求与获取结果 /// </summary> public static string HttpGet(string Url, string postDataStr) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr); request.Method = "GET"; request.ContentType = "text/html;charset=UTF-8"; request.Timeout = 10000; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); return retString; } catch (Exception ex) { return null; } } /// <summary> /// POST请求与获取结果 /// </summary> public static string HttpPost(string Url, string postDataStr) { try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST"; request.Timeout = 6000000; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = postDataStr.Length; StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII); writer.Write(postDataStr); writer.Flush(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string encoding = response.ContentEncoding; if (encoding == null || encoding.Length < 1) { encoding = "UTF-8"; //默认编码 } StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding)); string retString = reader.ReadToEnd(); return retString; } catch (Exception ex) { return null; } } }
C# 之HTTP请求get,post带重试参数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。