哈喽,又是新的一周。
上次说过了HTTPGet的接口参数获取,今天就顺势说下HttpPost的数据获取吧。
话不多说,Code Is EveryThing
private static string PostDataJsonBy(string url,string content) { string result = string.Empty; FormUrlEncodedContent body = new FormUrlEncodedContent(new Dictionary<string, string>()); try { byte[] bytes = Encoding.UTF8.GetBytes(content); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url)); request.Method = "POST"; request.ContentLength = bytes.Length; request.ContentType = "application/json"; using (Stream reqstream = request.GetRequestStream()) { reqstream.Write(bytes, 0, bytes.Length); } //声明一个HttpWebRequest请求 request.Timeout = 90000; //设置连接超时时间 request.Headers.Set("Pragma", "no-cache"); try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream streamReceive = response.GetResponseStream()) { using (StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8)) { result = streamReader.ReadToEnd(); } } } catch (Exception e) { result = e.Message; } } catch (Exception) { return "[]"; } return result; }
简简单单,这个就是Post 的数据获取了。
如果这个帖子到这里就终结,好像也没啥,毕竟介绍都介绍完了。
但是我们写代码的怎么能就这么粗糙呢?
上次就说过Get,这次又说了Post,口罩都戴一年了。还分什么你我他啊
private static string GetDataJsonBy(string url,string content,string method = "Get") { string result = string.Empty; try { //声明一个HttpWebRequest请求 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(url)); //设置连接超时时间 request.Timeout = 90000; if (method != "Get") { FormUrlEncodedContent body = new FormUrlEncodedContent(new Dictionary<string, string>()); byte[] bytes = Encoding.UTF8.GetBytes(content); request.Method = "POST"; request.ContentLength = bytes.Length; request.ContentType = "application/json"; using (Stream reqstream = request.GetRequestStream()) { reqstream.Write(bytes, 0, bytes.Length); Console.WriteLine(bytes.ToString(), 0, bytes.Length); } request.Headers.Set("Pragma", "no-cache"); } try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (Stream streamReceive = response.GetResponseStream()) { using (StreamReader streamReader = new StreamReader(streamReceive, Encoding.UTF8)) { result = streamReader.ReadToEnd(); } } } catch (Exception e) { result = e.Message; } } catch (Exception) { return "[]"; } return result; }
鉴于我出众的大脑,在原有post方法上进行了一些小小的改动(懒)
于是这个兼顾了Get和Post的方法就成了。
【其实是下次我不用在写了】
好了,这次就到这里