HttpToolPlus.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using Azylee.YeahWeb.HttpUtils.MethodUtils.ExtendUtils;
  2. using Azylee.YeahWeb.HttpUtils.MethodUtils.GetUtils;
  3. using Azylee.YeahWeb.HttpUtils.MethodUtils.PostUtils;
  4. using Azylee.YeahWeb.HttpUtils.Models;
  5. using Newtonsoft.Json;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.IO;
  9. using System.Linq;
  10. using System.Net;
  11. using System.Text;
  12. namespace Azylee.YeahWeb.HttpUtils
  13. {
  14. public class HttpToolPlus
  15. {
  16. public static string Get(string url, ref CookieCollection cookie, Dictionary<string, string> headers = null, string contentType = HttpContentTypes.ApplicationXWwwFormUrlEncoded, bool autoRedirect = false, bool keepAlive = true, string userAgent = UserAgents.Mozilla4)
  17. {
  18. return GetToolPlus.Get(url, ref cookie, headers = null, contentType, autoRedirect, keepAlive, userAgent);
  19. }
  20. public static string Post(string url, ref CookieCollection cookie, Dictionary<string, string> data = null,Encoding encoding=null, Dictionary<string, string> headers = null, string contentType = HttpContentTypes.ApplicationXWwwFormUrlEncoded, bool autoRedirect = true, bool keepAlive = true, string userAgent = UserAgents.Mozilla4)
  21. {
  22. string param = null;
  23. try
  24. {
  25. if (data != null && data.Count > 0)
  26. {
  27. StringBuilder sb = new StringBuilder();
  28. foreach (var item in data)
  29. {
  30. sb.Append($"&{item.Key}={item.Value}");
  31. }
  32. param = sb.ToString().Substring(1);
  33. }
  34. }
  35. catch { }
  36. return PostToolPlus.Post(url, ref cookie, param, encoding, headers, contentType, autoRedirect, keepAlive, userAgent);
  37. }
  38. public static string PostJson(string url, ref CookieCollection cookie, object data, Encoding encoding = null, Dictionary<string, string> headers = null, bool autoRedirect = true, bool keepAlive = true, string userAgent = UserAgents.Mozilla4)
  39. {
  40. string param = JsonConvert.SerializeObject(data);
  41. return PostToolPlus.Post(url, ref cookie, param, encoding, headers, HttpContentTypes.ApplicationJson, autoRedirect, keepAlive, userAgent);
  42. }
  43. }
  44. }