У меня проблема с входом на мой WordPress сайт с использованием CURL - PullRequest
0 голосов
/ 01 апреля 2020

мой код:

<?php
    include "simple_html_dom.php";

    $postFields = array(
        "user_login" => "email",
        "user_pass" => "pass",

    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://example.com/wp-admin/");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postFields));
    curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
    $response = curl_exec($ch);
echo $response;
exit();
    if ($response->status) {
        curl_setopt($ch, CURLOPT_URL, "https://example.com/wp-admin/post.php");
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
        $response = curl_exec($ch);

        $html = new simple_html_dom();
        $html->load($response);

        foreach($html->find('a[href^=post.php?id=]') as $link)
            echo $link->plaintext . "<br>";
    }

    curl_close($ch);
?>

Я хочу войти на свой сайт WordPress с помощью cURL. Когда я использую этот код, ничего не происходит, он только показывает мне страницу входа, но входные данные не заполнены. что мне делать? я делаю что-то не так?

1 Ответ

0 голосов
/ 01 апреля 2020

В вашем скрипте есть 2 ошибки, сначала ключи postField, wordpress имеет "log", "pwd" в имени, а не "user_login" и "user_pass", т. Е. Идентификаторы.

Итак , ваш массив будет:

$postFields = array(
        "log" => "email",
        "pwd" => "pass",
);

И тогда конечная точка неверна, вам нужно запросить «wp-login. php».

Итак, ваша конечная точка будет быть:

https://example.com/wp-login.php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...