H5stHack.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using dodohold.core;
  2. using Sayaka.Common;
  3. namespace molilian.core
  4. {
  5. public partial class JdUnionPlus
  6. {
  7. public async Task<string> H5stHack(dynamic querystring, CancellationToken cancellationToken)
  8. {
  9. string body = string.Empty;
  10. string useragent = _account.user_agent;
  11. if (string.IsNullOrEmpty(useragent)) useragent = ProviderFakeUserAgent.RandomComputer;
  12. #if DEBUG
  13. //_config.jd_h5st_sign_version = "5.0.6";
  14. #endif
  15. var args = new
  16. {
  17. version = _config.jd_h5st_sign_version,
  18. body = querystring,
  19. pin = _account.pin,
  20. ua = _account.user_agent,
  21. //h5st = _account.h5st,
  22. appId= "586ae",
  23. };
  24. try
  25. {
  26. string data = args.Convert2Json();
  27. string url = _config.jd_h5st_sign_url;
  28. if (string.IsNullOrEmpty(url)) url = "http://localhost:3001/h5st";
  29. #if DEBUG
  30. url = "http://bjapi.molilian.com:3001/h5st";
  31. //url = "http://127.0.0.1:3002/h5st";
  32. #endif
  33. WebClientUtility client = new WebClientUtility();
  34. client.SetContentType("application/json");
  35. client.Timeout = TimeSpan.FromMilliseconds(2000);
  36. client.Post(data);
  37. var response = await client.RequestAsync(url, "POST", cancellationToken);
  38. body = response.Body();
  39. /*
  40. {"code":200,"body":{"qs":"20250210183653774;a3a3wa33x9spd3n1;fb5df;tk04w1f0304bd41lMXgzeDN4MSsxXRJNrMWApMCLhMmN48iN4MGBZZJZFbr_lex8lZ2-o927yUFH3I1Hr4mBgVDLoBjN;75b9569aad0b0363efa5729431ead43c95ddd8ca7acb28bb8c4f9b3b101b373e;5.0;1739183813774;WNpZcw5Rph3NrZ2R5x2RoFyB3ZXRPp3RohjN1Yi9g5iNmVj8mVjN4QXRfRX9zQXR5xZO3B2OphHMjcEAt0zA6EW-3Z3L3ByR5Z3XtR3R5x2RnEz90ADAnQXR5xZO31U-0gzGmYUMQA1FIQXRfRH_qIz_4QyR5Z3XtlSR5xJN5x2RpVG83QXR5ZXRPpXN5x2RhFyB3ZXR5Z3XtZWRfRnMkQzR5ZXR5xZOoZ3L3BG83QXR5ZXRPpXN5x2RkFyB3ZXR5Z3XtZWRfRXMkQzR5ZXR5xZOgVWRfRnNkQzR5ZXR5xZOolXRfR3NkQzR5ZXR5xZO3F2OohXN3Z3L3VG83QXR5ZXRPpXN5x2Ru8yR5ZXR5xZOpZ3L3NS_3ZXR5Z3XtZWRfRX_3ZXR5Z3XtZWRfRXAiQXR5ZXRPpXN5x2RsYyR5ZXR5xp75x2R1gDAl4CA3ZXRPpH6eY3L3ZS93ZXRPp3RlBW75tWMjhD-CYnLphXNoZXELYn9icTAr0jE3Z3L3VD8mQXR5xp7;7c14c57d9aab873cc3805f9d02740b727fe3fb9720394a5e33240b303aaee289"}}
  41. */
  42. var root = body.Convert2JsonElement();
  43. int code = root.Read<int>("code");
  44. string qs = root.PathRead<string>("body.qs");
  45. if (code == 200)
  46. {
  47. _ = new LoggerLibrary("JdUnion", "h5st").Info("ok").SaveAsync();
  48. return qs;
  49. }
  50. _ = new LoggerLibrary("JdUnion", "h5st").Info(body).SaveAsync();
  51. }
  52. catch (Exception ex)
  53. {
  54. _ = new LoggerLibrary("JdUnion", "h5st_error")
  55. .Info(body)
  56. .Info(ex.Message, ex.StackTrace)
  57. .SaveAsync();
  58. }
  59. return string.Empty;
  60. }
  61. }
  62. }