Мне нужна помощь в переводе следующих вызовов сценариев оболочки на PHP
curl -3 --cookie /tmp/cookie --cookie-jar /tmp/cookie --insecure --data "login=login" --data "username=admin" --data "password=password" URL-HERE/login
curl -3 --cookie /tmp/cookie --cookie-jar /tmp/cookie --insecure --data "json={'cmd':'get-data', 'id':'1'}" URL-HERE/api
У меня возникли некоторые трудности с первой командой curl.
Получил:
$curl=curl_init();
curl_setopt($curl,CURLOPT_RETURNTRANSFER ,1 );
curl_setopt($curl,CURLOPT_HEADER , 1);
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl,CURLOPT_COOKIEJAR, "/tmp/cookie");
curl_setopt($curl,CURLOPT_COOKIEFILE, "/tmp/cookie");
curl_setopt($curl,CURLOPT_TIMEOUT,10000);
curl_setopt($curl,CURLOPT_URL,"URL-HERE/login");
curl_setopt($curl,CURLOPT_POST ,1);
$post = array(
"username" => 'admin',
"password" => 'password',
"login" => 'login',
);
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
echo curl_exec($curl);
, который, кажется, всегда обрабатывает форму входа из URL-адреса ЗДЕСЬ / login, и последующие запросы JSON, использующие указанный выше файл cookie, похоже, не выполняются с сообщением об ошибке «необходимо выполнить вход перед выполнением этих запросов».Однако две вышеуказанные команды оболочки работают безупречно.
Правильно ли я считаю, что параметры --data становятся post vars.а данные JSON - это поле сообщения с именем «json», содержимое которого было возвращено json_encode()
?