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;
                }
            }
        }
  • 相关阅读:
    [原创]全新IFPGA-Cable----支持Xilinx/Altera/Lattice JTAG和UART
    [原创]Modelsim后仿真
    [原创]iFPGA-USB2.0 FT2232H USB & UART开发板使用说明
    [原创]X-HDL 4.2安装与使用
    [原创][Synth 8-2543] port connections cannot be mixed ordered and named ["*_Top.v":1151]
    [原创]..OBJgpio.axf: error: L6002U: Could not open file ..objgpio.o: No such file
    [原创]Zynq SDIO WIFI SotfAP调试
    [原创]时序图新画法
    [原创]基于Zynq SDIO WIFI 2.4G/5G SotfAP STA
    [原创]Zynq AXI-CDMA的使用
  • 原文地址:https://www.cnblogs.com/testsec/p/6095965.html
Copyright © 2011-2022 走看看