C# 发送GET Post请求(带参数)

xiaoxiao2025-04-29  15

/// <summary> /// GET方法 /// </summary> /// <param name="Url"></param> /// <returns></returns> public static string Get(string Url) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Proxy = null; request.KeepAlive = false; request.Method = "GET"; request.ContentType = "application/json; charset=UTF-8"; request.AutomaticDecompression = DecompressionMethods.GZip; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); if (response != null) { response.Close(); } if (request != null) { request.Abort(); } return retString; } /// <summary> /// POST方法 /// </summary> /// <param name="url"></param> /// <param name="content"></param> /// <returns></returns> public static string Post(string url, string content) { string result = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; #region 添加Post 参数 byte[] data = Encoding.UTF8.GetBytes(content); req.ContentLength = data.Length; using (Stream reqStream = req.GetRequestStream()) { reqStream.Write(data, 0, data.Length); reqStream.Close(); } #endregion HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream stream = resp.GetResponseStream(); //获取响应内容 using (StreamReader reader = new StreamReader(stream, Encoding.UTF8)) { result = reader.ReadToEnd(); } return result; } /// <summary> /// POST方法,以JSON来传递参数 /// JSON形式 {"guid":"d21c1d98-b2ae-4dd8-a562-b81fb5473923","username":"aa","email":"aa"} /// </summary> /// <param name="url"></param> /// <param name="json"></param> /// <returns></returns> public static string PostJson(string url, string json) { ASCIIEncoding encoding = new ASCIIEncoding(); String content = ""; JObject o = JObject.Parse(json); String param = o.ToString(); byte[] data = encoding.GetBytes(param); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.KeepAlive = false; request.Method = "POST"; request.ContentType = "application/json;characterSet:UTF-8"; request.ContentLength = data.Length; Stream sm = request.GetRequestStream(); sm.Write(data, 0, data.Length); sm.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream streamResponse = response.GetResponseStream(); StreamReader streamRead = new StreamReader(streamResponse, Encoding.UTF8); Char[] readBuff = new Char[256]; int count = streamRead.Read(readBuff, 0, 256); while (count > 0) { String outputData = new String(readBuff, 0, count); content += outputData; count = streamRead.Read(readBuff, 0, 256); } response.Close(); return content; }
转载请注明原文地址: https://www.6miu.com/read-5029373.html

最新回复(0)