Копаюсь с сайтом фмс - http://services.fms.gov.ru/info-service.htm?sid=2000 Как я понял, сначала заполняется форма POST, сохраняются куки и идёт редирект на страницу - http://services.fms.gov.ru/info-service-result.htm?sid=2000 с GET параметром sid=2000, но в заголовке запроса присутствую куки.
Вот POST запрос, где отлично сохранятся куки рядом с исполнительным файлом
$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, "http://services.fms.gov.ru/info-service.htm?sid=2000");
curl_setopt($connection, CURLOPT_POST, 1);
curl_setopt($connection, CURLOPT_POSTFIELDS, ['DOC_NUMBER' => '1111',
'DOC_SERIE' => '123123',
'form_name'=> 'form',
'captcha-input' =>$res
]);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($connection, CURLOPT_COOKIEJAR, __DIR__ . "/cookie.txt");
curl_setopt($connection, CURLOPT_COOKIEFILE, __DIR__ . "/cookie.txt");
curl_setopt($connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($connection, CURLOPT_SSL_VERIFYPEER, false);
$res=curl_exec($connection);
curl_close($connection);
куки:
# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_services.fms.gov.ru FALSE / FALSE 0 JSESSIONID f5029a49e24c7d0c741d69255161
services.fms.gov.ru FALSE / FALSE 0 uid wwg+fltDaHdWFwsCC+8UAg==
Потом обращаюсь к странице - GETом
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://services.fms.gov.ru/info-service-result.htm?sid=2000');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($connection, CURLOPT_COOKIEFILE, __DIR__ . "/cookie.txt");
$out = curl_exec($curl);
curl_close($curl);
но куки не видит.
PS. Возможно я не правильно высказываюсь в плане передачи кук в заголовке запроса. отладчик мне вот что говорит:
Вы инициализируете curl, сохраняя значение в $curl
, а затем устанавливаете куки для $connection
.
Нужно заменить $connection
на $curl
вот в этой строке:
curl_setopt($connection, CURLOPT_COOKIEFILE, __DIR__ . "/cookie.txt");
Виртуальный выделенный сервер (VDS) становится отличным выбором
Задача в том, что в зависимости от даты нужно показать какой день недели
( ! ) Warning: Illegal offset type in UserControllerphp on line 56