Curl авторизация в админку WP24.04.2021 От: faq Из: Веб-строительство Dram 24 июля 2020, 18:10 91Не могу разобраться почему не работает этот код, чего не хватает?Авторизации не происходит, эхо выводит страницу админки для ввода логина и пароля<?php # Задаем информацию об учетной записи: логин, пароль, домен. $login = 'admin'; $password = 'admin'; $site = 'https://site.ru/wp-login.php'; # Задаем User Agent. $user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'; # Cookies сохраним в папку с нашим скриптом в одноименный текстовый файл. $cookies = dirname(__FILE__) . '/cookies.txt'; # Инициализация cURL: $automatic = curl_init(); # Устанавливаем переменную User Agent ("браузер" пользователя), # Устанавливаем источник перехода - реферрера. # cURL будет ждать выполнения функций не более 10 секунд. curl_setopt($automatic, CURLOPT_USERAGENT, $user_agent); curl_setopt($automatic, CURLOPT_REFERER, "http://ya.ru/"); curl_setopt($automatic, CURLOPT_TIMEOUT, 10); curl_setopt($automatic, CURLOPT_HEADER, 1); curl_setopt($automatic, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($automatic, CURLOPT_SSL_VERIFYHOST, 0); # Целевая ссылка для авторизации на сайте под управлением WordPress: curl_setopt($automatic, CURLOPT_URL, $site . '/wp-login.php'); # Разрешаем возвращать содержимое страницы. # Разрешаем скрипту ходить по редиректам. curl_setopt($automatic, CURLOPT_HEADER, 0); // пустые заголовки curl_setopt($automatic, CURLOPT_RETURNTRANSFER, true); curl_setopt($automatic, CURLOPT_FOLLOWLOCATION, true); # Устанавливаем POST-запрос: curl_setopt($automatic, CURLOPT_POST, true); curl_setopt($automatic, CURLOPT_POSTFIELDS, "log=$login&pwd=$password&wp-submit=Войти&redirect_to=$site/wp-admin&testcookie=1"); # Работаем с куками, cookies: curl_setopt($automatic, CURLOPT_COOKIEFILE, $cookies); curl_setopt($automatic, CURLOPT_COOKIEJAR, $cookies); # Запускаем авторизацию: curl_exec($automatic); # Для примера откроем страницу админки WordPress: curl_setopt($automatic, CURLOPT_URL, $site. '/wp-admin'); $demo = curl_exec($automatic); # Закрываем cURL: curl_close($automatic); # Выводим страничку на экран: echo $demo; Dram 24 июля 2020, 18:16Все победил<?php# Задаем информацию об учетной записи: логин, пароль, домен.$login = 'admin';$password = 'admin';$site = 'https://site.ru/wp-login.php';# Задаем User Agent.$user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36';# Cookies сохраним в папку с нашим скриптом в одноименный текстовый файл.$cookies = dirname(__FILE__) . '/cookies.txt';# Инициализация cURL:$curl = curl_init();//---------------- generic cURL settings start ----------------$header = array( "Referer: https://site.ru/wp-login.php", "Origin: https://site.ru", "Content-Type: application/x-www-form-urlencoded", "Cache-Control: no-cache", "Pragma: no-cache", "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15");curl_setopt($curl, CURLOPT_HTTPHEADER, $header);curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15');curl_setopt($curl, CURLOPT_AUTOREFERER, true);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($curl, CURLOPT_COOKIESESSION, true);curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookies.txt');curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookies.txt');//---------------- generic cURL settings end ----------------$url = 'https://site/wp-login.php';curl_setopt($curl, CURLOPT_URL, $url);$post = "log=$login&pwd=$password&wp-submit=Log+In&redirect_to=https%3A%2F% mywordpress%2Fwp-admin%2F";curl_setopt($curl, CURLOPT_POST, TRUE);curl_setopt($curl, CURLOPT_POSTFIELDS, $post);curl_setopt($curl, CURLOPT_URL, $site. '/wp-admin');$demo = curl_exec($curl);curl_close ($curl);echo ($demo); LEOnidUKG 24 июля 2020, 18:18 И стоило ради 6 минут, тут что-то постить. Похожие записи:+1 к следующей функции помогите победить редиректы php curl Полный пример API отображения Instagram Basic PHP curl, запрос страницы сайта со всеми счетчиками Среда моделирования дискретных событий для дискретного времени в Julia
Dram
Не могу разобраться почему не работает этот код, чего не хватает?
Авторизации не происходит, эхо выводит страницу админки для ввода логина и пароля
Dram
Все победил
LEOnidUKG