bot_cookie.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package bot_cookie
  2. import (
  3. "net/http"
  4. "sync"
  5. . "gitp78su.ipnodns.ru/svi/kern"
  6. . "gitp78su.ipnodns.ru/svi/kern/kc/helpers"
  7. . "gitp78su.ipnodns.ru/svi/kern/krn/ktypes"
  8. )
  9. /*
  10. Предоставляет разделяемый объект кукисов для соединения с игровым сервером
  11. */
  12. // БотКуки -- кукисы для бота, ничего не требует для своей работы
  13. type БотКуки struct {
  14. куки []*http.Cookie
  15. блок sync.RWMutex
  16. лог ILogBuf
  17. }
  18. // НовБотКуки -- возвращает новый *БотКуки
  19. func НовБотКуки() БотКуки {
  20. лог := NewLogBuf()
  21. лог.Info("БотКуки()\n")
  22. return БотКуки{
  23. лог: лог,
  24. }
  25. }
  26. // Уст -- устанавливает кукисы
  27. func (сам *БотКуки) Уст(cook []*http.Cookie) {
  28. сам.блок.Lock()
  29. defer сам.блок.Unlock()
  30. Hassert(cook != nil, "БотКуки.Уст(): cookie == nil")
  31. сам.куки = cook
  32. cookie := http.Cookie{
  33. Name: "JSESSIONID",
  34. Value: сам.куки[0].Value,
  35. Raw: "JSESSIONID=" + сам.куки[0].Value + "; _ym_uid=1642083867571238834; _ym_d=1642083867; _ym_isad=2; _ym_visorc=w",
  36. }
  37. cookie1 := сам.куки[:0]
  38. сам.куки = cookie1
  39. сам.куки = append(сам.куки, &cookie)
  40. cookie = http.Cookie{
  41. Name: "_ym_d",
  42. Value: "1642083867",
  43. }
  44. сам.куки = append(сам.куки, &cookie)
  45. cookie = http.Cookie{
  46. Name: "_ym_isad",
  47. Value: "2",
  48. }
  49. сам.куки = append(сам.куки, &cookie)
  50. cookie = http.Cookie{
  51. Name: "_ym_visorc",
  52. Value: "w",
  53. }
  54. сам.куки = append(сам.куки, &cookie)
  55. }
  56. // Получ -- возвращает хранимые кукисы
  57. func (сам *БотКуки) Получ() []*http.Cookie {
  58. return сам.куки
  59. }