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 }

 

posted @ 2020-07-16 09:09  zeroooooo~  阅读(82)  评论(0)    收藏  举报