C# Get和Post请求与响应

2023-10-20 更新

方法一(推荐使用)
public string HttpGet(string url)
{
    using (HttpClient client = new HttpClient())
    {
        var response = client.GetAsync(url).Result;
        if (response.IsSuccessStatusCode)
        {
            var content = response.Content.ReadAsStringAsync().Result;
            return content;
        }
        return "错误" + response.StatusCode;
    }
}

public string HttpPost(string url, string jsonObj)
{
    try
    {
        using (HttpClient client = new HttpClient())
        {
            HttpContent httpContent = new StringContent(jsonObj);
            httpContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
            var response = client.GetAsync(url).Result;
            if (response.IsSuccessStatusCode)
            {
                return response.Content.ReadAsStringAsync().Result;
            }
            return "错误" + response.StatusCode;
        }
    }
    catch (Exception ex)
    {
        return ex.Message;
    }
}
方法二
public string HttpGet(string Url)
{
    try
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
        request.Method = "GET";
        request.ContentType = "text/html;charset=UTF-8";

        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 ex.Message;
    }
}

 /// <summary> 
 /// POST请求与获取结果 
 /// </summary> 
 public string HttpPost(string Url, string postDataStr)
 {
     try
     {
         HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
         request.Method = "POST";
         request.ContentType = "application/x-www-form-urlencoded";
         request.ContentLength = postDataStr.Length;
         StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII);
         writer.Write(postDataStr);
         writer.Flush();
         writer.Close();
         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();
         reader.Close();
         return retString;
     }
     catch (Exception ex)
     {
         return ex.Message;
     }

 }

本文来自 http://www.luofenming.com