WebHandle.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Net;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace UploadClient.WebOperate
  8. {
  9. public class WebHandle
  10. {
  11. /// <summary>
  12. /// 获取Http请求
  13. /// </summary>
  14. /// <param name="url"></param>
  15. /// <param name="username"></param>
  16. /// <param name="password"></param>
  17. /// <param name="timeout"></param>
  18. /// <param name="referer"></param>
  19. /// <param name="accept"></param>
  20. /// <returns></returns>
  21. public static HttpWebResponse GetRquest(string url, string username, string password, int timeout = 0, string referer = "", string accept = "")
  22. {
  23. HttpWebRequest req = null;
  24. HttpWebResponse res = null;
  25. try
  26. {
  27. req = (HttpWebRequest)WebRequest.Create(url);
  28. if (timeout > 0)
  29. {
  30. req.Timeout = timeout;
  31. }
  32. req.Method = "GET";
  33. req.KeepAlive = true;
  34. req.Headers.Add("Cache-Control", "max-age=0");
  35. req.Headers.Add("Upgrade-Insecure-Requests", "1");
  36. req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36";
  37. req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3";
  38. req.Headers.Add("Accept-Encoding", "gzip, deflate, br");
  39. req.Headers.Add("Accept-Language", "zh-CN,zh;q=0.9");
  40. if (!string.IsNullOrWhiteSpace(referer))
  41. {
  42. req.Referer = referer;
  43. }
  44. req.ProtocolVersion = HttpVersion.Version11;
  45. req.CookieContainer = new CookieContainer();
  46. req.CookieContainer.Add(req.RequestUri, new Cookie("username", username));
  47. req.CookieContainer.Add(req.RequestUri, new Cookie("password", password));
  48. res = (HttpWebResponse)req.GetResponse();
  49. return res;
  50. }
  51. catch (Exception ex)
  52. {
  53. FileHelper.AppendWriteFile("Log.txt", ex.Message + "|" + ex.StackTrace);
  54. return null;
  55. }
  56. }
  57. }
  58. }