bot_cookie.go 1.6 KB

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