HttpHelp.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Net;
  6. using System.Text;
  7. namespace CP.Common
  8. {
  9. public class HttpHelp
  10. {
  11. public static string HttpGet(string url, int timeout = 15, WebHeaderCollection header = null)
  12. {
  13. HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
  14. request.ContentType = "application/x-www-form-urlencoded";
  15. request.Method = "GET";
  16. request.Accept = "*/*";
  17. request.Timeout = (1000 * timeout);
  18. request.ServicePoint.Expect100Continue = false;
  19. request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36";
  20. if (header != null)
  21. {
  22. request.Headers = header;
  23. }
  24. HttpWebResponse response = request.GetResponse() as HttpWebResponse;
  25. Stream streamResponse = response.GetResponseStream();
  26. StreamReader streamRead = new StreamReader(streamResponse);
  27. string responseStr = string.Empty;
  28. try
  29. {
  30. responseStr = streamRead.ReadToEnd();
  31. }
  32. catch (Exception ex)
  33. {
  34. Console.WriteLine($"url:{url} |||||||| 错误:{ex.Message}");
  35. }
  36. finally
  37. {
  38. streamRead.Close();
  39. streamResponse.Close();
  40. response.Close();
  41. request = null;
  42. }
  43. return responseStr;
  44. }
  45. public static string PostHttp(string url, string methodType, Dictionary<string, string> headers, string body = null)
  46. {
  47. HttpWebRequest request = null;
  48. StreamWriter sw = null;
  49. StreamReader s = null;
  50. string ret = "";
  51. try
  52. {
  53. request = (HttpWebRequest)WebRequest.Create(url);//请求
  54. request.Method = methodType;
  55. if (headers != null && headers.Count > 0)
  56. for (var i = 0; i < headers.Count; i++)
  57. request.Headers.Add(headers.ElementAt(i).Key, headers.ElementAt(i).Value);
  58. request.KeepAlive = true;
  59. //request.CookieContainer = cook;
  60. request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  61. request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
  62. request.ServicePoint.Expect100Continue = false;
  63. request.ServicePoint.ConnectionLimit = int.MaxValue;
  64. if (!string.IsNullOrEmpty(body))
  65. {
  66. sw = new StreamWriter(request.GetRequestStream());//获取写入流
  67. sw.Write(body);
  68. sw.Flush(); //强制写入
  69. }
  70. WebResponse response = request.GetResponse(); //获取响应
  71. s = new StreamReader(response.GetResponseStream());//获取响应流
  72. ret = s.ReadToEnd(); //读取数据
  73. }
  74. catch (Exception ex)
  75. {
  76. }
  77. finally
  78. {
  79. if (s != null) s.Close();
  80. if (sw != null) sw.Close();
  81. if (request != null) request.Abort();
  82. s = null;
  83. sw = null;
  84. request = null;
  85. }
  86. return ret;
  87. }
  88. }
  89. }