Get请求 Post请求
Get请求
1 /// <summary> 2 /// Get请求 3 /// </summary> 4 /// <param name="url"></param> 5 /// <param name="reslut"></param> 6 /// <returns></returns> 7 public static bool HttpGet(string url, out string reslut) 8 { 9 try 10 { 11 HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(new Uri(url.Trim())); 12 httpReq.Method = "GET"; 13 WebResponse webResponse = httpReq.GetResponse(); 14 HttpWebResponse httpWebResponse = (HttpWebResponse)webResponse; 15 Stream stream = httpWebResponse.GetResponseStream(); 16 StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("UTF-8")); 17 reslut = reader.ReadToEnd(); 18 reader.Close(); 19 webResponse.Close(); 20 return true; 21 } 22 catch (Exception ex) 23 { 24 reslut = ex.Message; 25 return false; 26 } 27 }
Post请求(application/x-www-form-urlencoded)
string parms = "token=kAiLGTYYMb3cZsLxtZa8i&oriUrl=" + sourceUrl; // string Resurl = string.Concat(ShorLinkUrl, "/genShortLink?", parms); string Resurl=HttpPostHead(ShorLinkUrl + "/genShortLink", parms, "POST", "UTF-8");
1 public static string HttpPostHead(string strUrl, string strPostDatas, string method, string objencoding) 2 { 3 HttpWebResponse res = null; 4 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl); 5 request.Method = method; 6 request.KeepAlive = true; 7 //request.Headers.Add("Device-Token", "FFFFFF"); 8 //request.Headers.Add("App-Key", "10"); 9 //request.Headers.Add("Client-Type", "10"); 10 //request.Headers.Add("Developer", "2.0"); 11 //上面的http头看情况而定,但是下面俩必须加 12 request.ContentType = "application/x-www-form-urlencoded"; 13 //request.Method = "POST"; 14 Encoding encoding = Encoding.GetEncoding(objencoding);//根据网站的编码自定义 15 byte[] postData = encoding.GetBytes(strPostDatas);//postDataStr即为发送的数据,格式还是和上次说的一样 16 request.ContentLength = postData.Length; 17 Stream requestStream = request.GetRequestStream(); 18 requestStream.Write(postData, 0, postData.Length); 19 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 20 Stream responseStream = response.GetResponseStream(); 21 StreamReader streamReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8")); 22 string retString = streamReader.ReadToEnd(); 23 streamReader.Close(); 24 responseStream.Close(); 25 if (res != null) 26 { 27 res.Close(); 28 } 29 return retString; 30 }
json:
1 var eNos= new { typeSearch = typeSearch, searchInfo = searchInfo }; 2 string pdfUrl=ConfigFactory.WebEnvConfig.Items["DownLoadPdfNew"].ToString(); 3 string param = JsonConvert.SerializeObject(eNos); 4 HttpPost(pdfUrl, param, "POST", "UTF-8");
1 /// <summary> 2 /// post请求方法(头信息) 3 /// </summary> 4 /// <param name="strUrl">post地址</param> 5 /// <param name="strPostDatas">参数值</param> 6 /// <param name="method">请求方式 Post或者Get</param> 7 /// <param name="objencoding">加密方式</param> 8 /// <returns></returns> 9 public static string HttpPost(string strUrl, string strPostDatas, string method, string objencoding) 10 { 11 HttpWebResponse res = null; 12 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl); 13 request.Method = method; 14 request.KeepAlive = true; 15 //上面的http头看情况而定,但是下面俩必须加 16 request.ContentType = "application/json"; 17 //request.Method = "POST"; 18 Encoding encoding = Encoding.GetEncoding(objencoding);//根据网站的编码自定义 19 byte[] postData = encoding.GetBytes(strPostDatas);//postDataStr即为发送的数据,格式还是和上次说的一样 20 request.ContentLength = postData.Length; 21 Stream requestStream = request.GetRequestStream(); 22 requestStream.Write(postData, 0, postData.Length); 23 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 24 Stream responseStream = response.GetResponseStream(); 25 StreamReader streamReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8")); 26 string retString = streamReader.ReadToEnd(); 27 streamReader.Close(); 28 responseStream.Close(); 29 if (res != null) 30 { 31 res.Close(); 32 } 33 return retString; 34 } 35 36
附带超时设置
1 public static string HttpPostTimeOut(string strUrl, string strPostDatas, string method, string objencoding) 2 { 3 HttpWebResponse res = null; 4 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl); 5 try 6 { 7 request.Method = method; 8 request.KeepAlive = true; 9 //request.Headers.Add("Device-Token", "FFFFFF"); 10 //request.Headers.Add("App-Key", "10"); 11 //request.Headers.Add("Client-Type", "10"); 12 //request.Headers.Add("Developer", "2.0"); 13 //上面的http头看情况而定,但是下面俩必须加 14 request.ContentType = "application/json"; 15 request.Timeout = 10000; 16 //request.Method = "POST"; 17 Encoding encoding = Encoding.GetEncoding(objencoding);//根据网站的编码自定义 18 byte[] postData = encoding.GetBytes(strPostDatas);//postDataStr即为发送的数据,格式还是和上次说的一样 19 request.ContentLength = postData.Length; 20 Stream requestStream = request.GetRequestStream(); 21 requestStream.Write(postData, 0, postData.Length); 22 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 23 Stream responseStream = response.GetResponseStream(); 24 StreamReader streamReader = new StreamReader(responseStream, Encoding.GetEncoding("utf-8")); 25 string retString = streamReader.ReadToEnd(); 26 streamReader.Close(); 27 responseStream.Close(); 28 if (res != null) 29 { 30 res.Close(); 31 } 32 return retString; 33 34 } 35 catch (Exception) 36 { 37 res.Close(); 38 throw; 39 } 40 }

浙公网安备 33010602011771号