zoukankan      html  css  js  c++  java
  • 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;
                }
            }
        }
  • 相关阅读:
    任意进制间的转换
    判断线段相交 hdu 1086
    大数(高精度)加减乘除取模运算
    sqlserver2008透明书库加密
    数据库质疑
    sql2005 和sql2008 同时安装
    editrules
    sqlserver 表值函数
    sqlserver释放内存
    sql2008查看备份进度
  • 原文地址:https://www.cnblogs.com/testsec/p/6095965.html
Copyright © 2011-2022 走看看