Dram

Рейтинг
1114
Регистрация
28.06.2008

Все победил


<?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);

Пропустил там строку

    //cookie
    curl_setopt($curl, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'] . '/var/www/com/cookie.txt');
    curl_setopt($curl, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'] . '/var/www/com/cookie.txt');

drDaemon, я застрял на первом же шаге только начав писать парсер. Создал функцию курла, функцию с разными юзер агентами бразузеров, чтобы при каждом запросе менять его.

Делаю запрос и пусто....  вот собственно и все. Прокси еще даже не покупал ибо и не успел логику парсера прописать.



function getPageByUrl ($url){
    //Инициализируем сеанс
    $curl = curl_init();
    //Указываем адрес страницы
    curl_setopt($curl, CURLOPT_URL, $url);

    curl_setopt($curl, CURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest"));
    //Ответ сервера сохранять в переменную, а не на экран
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    //Переходить по редиректам
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  
    $getUserAgent = getUserAgent();

    curl_setopt($curl, CURLOPT_USERAGENT, $getUserAgent);
    //если сайт https
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    //cookie
    curl_setopt($curl, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'] . '/var/www/com/cookie.txt');
    //смена IP
   // $a =  file('/var/www/com/proxy.txt');
   // curl_setopt($curl, CURLOPT_PROXY, $a[array_rand($a)]);
    //Выполняем запрос:
    $result = curl_exec($curl);
    //Отлавливаем ошибки подключения
    if ($result === false) {                    echo "Ошибка CURL: " . curl_error($curl);
        return false;
    } else {
        return $result;
    }
    $result = curl_exec($curl);

    $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    curl_close($curl);
    return $httpcode;
}
ArbNet спасибо, я уже прошел половину того учебника, я естественно о нем знаю и обучение начал сразу с него. Просто иногда некоторые моменты полезнее спросить у людей.
Понял, спасибо!
Вопрос решил сам. Нужно сначала зайти на сайт, там в форме авторизации и будет этот токен. Спарсить его и уже потом вторым запросом заходить
Понял, всем спасибо!
Я в ролике на ютубе видел у чувака код сразу в консоле редактора исполнялся. Оч. удобно мне бы было как новичку так кодить и не прыгать между экранами. https://youtu.be/HToDur7Gkkw?t=334
Aisamiery  спасибо!
Да, появляются
Всего: 6924