Не могу разобраться с куками.

Все вопросы касающиеся использования
программы можно задать здесь
Ответить
label
Сообщения: 7
Зарегистрирован: 09 янв 2020, 23:28

Не могу разобраться с куками.

Сообщение label » 10 янв 2020, 01:50

Добрый день. не могу разобраться с импортом куков.
После
$browser->import_cookies("", $cookie);
Тишина (переменная $cookie содержит в себе пример с форума (авторизация в рамблере))

Дальше пробую вытащить все куки, чтобы посмотреть что экспортировалось, а там пусто. Вытаскиваю этим кодом:

Код: Выделить всё

$cookie_from_browser=$browser->get_cookie(true);
$fd = fopen("c:\\temp\\cookie_from_browser.txt", 'w');
fputs($fd, $cookie_from_browser);
fclose($fd);
При этом если просто зайти на гугл или еще куда, то код выше куки с этих сайтов показывает, а импортировать не получается ни в какую.

Импорти куков:

Код: Выделить всё

$cookie=htmlentities(file_get_contents("c:\\temp\\temp_cookie.txt"));
$browser->clear_cookies("","");
$browser->import_cookies("", $cookie);
temp_cookie.txt: (взял с форума, пробовал другие значение, эффект тот же, иногда оператор выдает ошибку "unsupported cookies format")

Код: Выделить всё

[
{
    "domain": ".rambler.ru",
    "expirationDate": 1638712799,
    "hostOnly": false,
    "httpOnly": false,
    "name": "__gads",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "ID=4957f08fa8481435:T=1575640799:S=ALNI_MaaOxwlpo6E-XR9a5lEFJn4-CVFEg",
    "id": 1
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1638712865,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_ga",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "GA1.2.1644746753.1574707060",
    "id": 2
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1575640925,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_gat",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "1",
    "id": 3
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1575727265,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_gid",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "GA1.2.1217713073.1575640797",
    "id": 4
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1606243059,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_ym_d",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "1574707060",
    "id": 5
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1575712797,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_ym_isad",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "2",
    "id": 6
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1606243059,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_ym_uid",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "1574707060217434820",
    "id": 7
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1575642666,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_ym_visorc_25662806",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "b",
    "id": 8
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1575642666,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_ym_visorc_26649402",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "b",
    "id": 9
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1575642665,
    "hostOnly": false,
    "httpOnly": false,
    "name": "_ym_visorc_28161048",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "b",
    "id": 10
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1578232864,
    "hostOnly": false,
    "httpOnly": false,
    "name": "c8980c62834072c480df58741f1fd039393df9aaea5446dbb1dd2187750209fe_2",
    "path": "/",
    "sameSite": "unspecified",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "1CIAAIP%2BlF1bQZauAcy7RgB%3D",
    "id": 11
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1576245669,
    "hostOnly": false,
    "httpOnly": false,
    "name": "detect_count",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "0",
    "id": 12
},
{
    "domain": ".rambler.ru",
    "expirationDate": 2145916556.392509,
    "hostOnly": false,
    "httpOnly": false,
    "name": "dvr",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "gDBAAIEAAEAAAAAAAAAAAAAAAAAAAAA:1575640795",
    "id": 13
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1662040865,
    "hostOnly": false,
    "httpOnly": false,
    "name": "last_visit",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "1575630065668::1575640865668",
    "id": 14
},
{
    "domain": ".rambler.ru",
    "expirationDate": 2145916555.479054,
    "hostOnly": false,
    "httpOnly": false,
    "name": "lvr",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "1575640864",
    "id": 15
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1591192865.889283,
    "hostOnly": false,
    "httpOnly": false,
    "name": "rambler_3rdparty_v2",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "",
    "id": 16
},
{
    "domain": ".rambler.ru",
    "hostOnly": false,
    "httpOnly": true,
    "name": "rccid",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": true,
    "session": true,
    "storeId": "0",
    "value": "06e99d2803884b7ee62fe3b8cc31350df4d3168b7b4f75ad2a301cb87af1",
    "id": 17
},
{
    "domain": ".rambler.ru",
    "hostOnly": false,
    "httpOnly": false,
    "name": "rdomain",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": true,
    "storeId": "0",
    "value": "rambler.ru",
    "id": 18
},
{
    "domain": ".rambler.ru",
    "hostOnly": false,
    "httpOnly": false,
    "name": "rlogin",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": true,
    "storeId": "0",
    "value": "kostina_rebekka",
    "id": 19
},
{
    "domain": ".rambler.ru",
    "hostOnly": false,
    "httpOnly": true,
    "name": "rsid",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": true,
    "session": true,
    "storeId": "0",
    "value": "eyJleHRyYSI6eyJkYXRhIjoiM0dGcVd1NTI0RTlSMW9OZ211STByb1lUaHozYWt4cGljXC9Ga1JZcmRRN1RVTUR4a2pDSmVFN2hvSEhKRE5cLzcyZVdyN1JETGJnWlwvdzd3aUg5T2ZLaWx3Zm1LNmxQZFM1ZzR6ODBQMVJmTnJTQ3BnVXJCaTNBb2crdWQ3WTNFWUZDYUt0V2s4RmpDZ2IxNTZzVDJ6V21YQ3FFVU1XMnNOZ3FiSG1KYjdvZ0ZcLzhybFdrbk9DS05MUzBlS0pTcjA1NUtpa1gyUXRvaEZZTWpoaHVYb1wvQUVoejdVd1wvWVY5SUoiLCJlbmNfa2V5Ijoia2V5MSJ9LCJyc2lkIjoiNDkxNjdmYTk5ZGU4OTBkYjg2MWM3MDIxYjdjNDViM2IifQ.v2.x",
    "id": 20
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1591192865.889378,
    "hostOnly": false,
    "httpOnly": false,
    "name": "ruid",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "1CIAAIP+lF1bQZauAcy7RgB=",
    "id": 21
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1577299060,
    "hostOnly": false,
    "httpOnly": false,
    "name": "sspjs_2.12.3_af_lpdid",
    "path": "/",
    "sameSite": "unspecified",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "%7B%22DATE%22%3A1574707060342%2C%22ID%22%3A%2224%3A1205882667%22%7D",
    "id": 22
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1577299063,
    "hostOnly": false,
    "httpOnly": false,
    "name": "sspjs_2.18.1_af_lpdid",
    "path": "/",
    "sameSite": "unspecified",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "%7B%22DATE%22%3A1574707060359%2C%22ID%22%3A%2224%3A1205882667%22%7D",
    "id": 23
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1578232864,
    "hostOnly": false,
    "httpOnly": false,
    "name": "sspjs_2.19.1_af_lpdid",
    "path": "/",
    "sameSite": "unspecified",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "%7B%22DATE%22%3A1575640797443%2C%22ID%22%3A%2224%3A1205882667%22%7D",
    "id": 24
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1578232867.316506,
    "hostOnly": false,
    "httpOnly": false,
    "name": "sts",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "0.1575640799.1.1575640866.2.1575640799.3.1575640799.4.1570129462",
    "id": 25
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1662040865,
    "hostOnly": false,
    "httpOnly": false,
    "name": "top100_id",
    "path": "/",
    "sameSite": "unspecified",
    "secure": false,
    "session": false,
    "storeId": "0",
    "value": "t1.29811.25551310.1574707060937",
    "id": 26
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1577299060,
    "hostOnly": false,
    "httpOnly": false,
    "name": "user-id_1.0.5_FingerPrint",
    "path": "/",
    "sameSite": "unspecified",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "pA8AAGsis1fAtFAsAfMexwA%3D",
    "id": 27
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1577299059,
    "hostOnly": false,
    "httpOnly": false,
    "name": "user-id_1.0.5_lr_lruid",
    "path": "/",
    "sameSite": "unspecified",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "pQ8AAHQf3F2mrrckAdyfogA%3D",
    "id": 28
},
{
    "domain": ".rambler.ru",
    "expirationDate": 1591192865.889468,
    "hostOnly": false,
    "httpOnly": false,
    "name": "uuts",
    "path": "/",
    "sameSite": "no_restriction",
    "secure": true,
    "session": false,
    "storeId": "0",
    "value": "4vrJyL0kQ2Ge3Qa6dkQN4OkBIW1JE7aV",
    "id": 29
}
]

label
Сообщения: 7
Зарегистрирован: 09 янв 2020, 23:28

Re: Не могу разобраться с куками.

Сообщение label » 10 янв 2020, 01:52

XWeb Human Emulator Studio
Version 7.0.44

Аватара пользователя
bigfozzy
Site Admin
Сообщения: 3047
Зарегистрирован: 28 июл 2008, 17:24
Контактная информация:

Re: Не могу разобраться с куками.

Сообщение bigfozzy » 10 янв 2020, 10:59

посмотрите примеры из папки Test Samples

при импорте куков нужно указать урл : $browser->import_cookies("https://rambler.ru",$cookies)
<?php $xhe_host = "127.0.0.1:7013";

// подключим объект для управления эмулятором, если еще не подключен
if (!isset($path))
  $path="../../../Templates/xweb_human_emulator.php";
require($path);

// начало
echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>";

$browser->clear_cookies("","");

// 1
echo "1. Получим куки : ";
$browser->navigate("about:blank");
$cookies=file_get_contents("test\\import_cookies.json");
echo strlen($cookies)."\n";

// 2 
echo "2. Импортируем куки : ";
echo $browser->import_cookies("https://rambler.ru",$cookies)."\n";

// 3
echo "3. Перейдем на страницу  : ";
echo $browser->navigate("https://rambler.ru");

// конец
echo "<hr><br>";

// Quit
$app->quit();
?>

label
Сообщения: 7
Зарегистрирован: 09 янв 2020, 23:28

Re: Не могу разобраться с куками.

Сообщение label » 10 янв 2020, 11:59

Я этот пример видел, пробовал импортировать для определенного сайта, все ровно не получается.
А можно импортировать все куки из файла, а не только для определенного сайта?

label
Сообщения: 7
Зарегистрирован: 09 янв 2020, 23:28

Re: Не могу разобраться с куками.

Сообщение label » 10 янв 2020, 12:35

По примеру из файла, запустил его, закоментировал строку echo $browser->navigate("https://rambler.ru");, чтобы рамблер не создавал сам куки. В итоге куки не импортируются из файла:

Код примера:

Код: Выделить всё

<?php $xhe_host = "127.0.0.1:7010";

// подключим объект для управления эмулятором, если еще не подключен
if (!isset($path))
  $path="../../../Templates/xweb_human_emulator.php";
require($path);

// начало
echo "<hr><font color=blue>browser->".basename (__FILE__)."</font><hr>";

$browser->clear_cookies("","");

// 1
echo "1. Получим куки : ";
$browser->navigate("about:blank");
$cookies=file_get_contents("test\\import_cookies.json");
echo strlen($cookies)."\n";

// 2 
echo "2. Импортируем куки : ";
echo $browser->import_cookies("https://rambler.ru",$cookies)."\n";

// 3
echo "3. Перейдем на страницу  : ";
//echo $browser->navigate("https://rambler.ru");

// конец
echo "<hr><br>";

// Quit
$app->quit();
?>
Переменная $cookies заполняется нормально, скрипт отробатывает без ошибок.
Изображение

Но куки не загружаются!
Изображение

Если просто сходить на rambler.ru, то браузер записывает куки, но не импортирует их.

Изображение

Помогите разобраться пожалуйста, я уже и через sqlite пытался реализовать, но рубанулся на том, что куки храняться в зашифрованном виде, может какой-нить плагин можно установить? Но разбираться нету времени совсем, есть готовое решение?

Аватара пользователя
Support
Site Admin
Сообщения: 1000
Зарегистрирован: 10 апр 2009, 17:45
Контактная информация:

Re: Не могу разобраться с куками.

Сообщение Support » 10 янв 2020, 21:24

Вопрос с куками тоже решили.

Решение: закрыли программу, удалили файл с настройками (папка с программой/Settings/settings_v1.json). Запустили программу. Всё заработало как надо.
cookies.jpg
cookies.jpg (161.95 КБ) 1088 просмотров

Ответить