У меня проблема с получением значения токена носителя авторизации с помощью инструмента unix вроде curl с сайта. Проблема в том, что я не знаю, как получить только это значение 7FA733D2E75A962D1FED6D26989550BD . Значение отличается каждый раз, когда я делаю запрос (я имею в виду, что это не постоянное значение). У меня есть необходимая информация для этого запроса, и когда я пытаюсь использовать браузер с менеджером cook ie и ставить вручную значение cook ie, это работа и я получаю действительный токен. Значение Cook ie:
mac=00%3A1A%3A79%3A40%3A07%3AFF
stb_lang=en
timezone=Europe%2FParis
URL запроса:
http://livegopanel.club:8080/portal.php?type=stb&action=handshake&token=&JsHttpRequest=1-xml
Если я пытаюсь автоматизировать это задание с консоли linux, я не могу получить этот токен. Когда я собираю поток tcp с помощью wireshark, получаю следующую информацию от процесса получения действительного токена.
Это запрос к сайту:
GET /portal.php?type=stb&action=handshake&token=&JsHttpRequest=1-xml HTTP/1.1
Accept: */*
User-Agent: Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG200 stbapp ver: 4 rev: 2721 Mobile Safari/533.3
Referer: http://livegopanel.club:8080/c/
Accept-Language: en-US,*
Accept-Charset: UTF-8,*;q=0.8
X-User-Agent: Model: MAG254; Link: Ethernet
Host: livegopanel.club:8080
Cookie: mac=00%3A1A%3A79%3A40%3A07%3AFF; stb_lang=en; timezone=Europe%2FParis
Connection: Keep-Alive
И это ответ от сайта:
HTTP/1.1 200 OK
Date: Sat, 22 Feb 2020 09:22:53 GMT
Content-Type: text/javascript;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Set-Cookie: __cfduid=d538fd5b5e457f16e217ec8cf092ea2de1582363373; expires=Mon, 23-Mar-20 09:22:53 GMT; path=/; domain=.livegopanel.club; HttpOnly; SameSite=Lax
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
CF-Cache-Status: DYNAMIC
Server: cloudflare
CF-RAY: 568fe5eebe337ea4-BUD
{"js":{"token":"7FA733D2E75A962D1FED6D26989550BD"}}
Я пробую много вариантов с помощью curl, но не могу получить значение. Как построить запрос curl или иметь другой способ (скрипт, написанный на bash, perl, et c.), Чтобы сделать это?