bot_cookie.go 1.8 KB

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