Невозможно войти на сайт WordPress с помощью модуля запросов Python3 - PullRequest
0 голосов
/ 30 сентября 2019

Я пишу питона-бота, чтобы очистить сайт WordPress, но мне нужно войти в систему, чтобы получить доступ к некоторым ресурсам, которые я хочу. Вот код:

# username, password, and wp_login is defined above

with requests.Session() as s:
    # store any initial cookies in the session
    s.get(wp_login)

    datas={
        'log':username, 'pwd':password, 'wp-submit':'Log In',
        'redirect-to':'', 'testcookie':'1'
    }

    # successful or unsuccessful login returns a 302 so I have to not allow
    # redirects or I can't view the response header to check for the cookies I need
    response = s.post(wp_login, data=datas, allow_redirects=False)

    print(response.status_code)
    print()
    print(response.request.headers)
    print()
    print(response.headers)

Вот вывод

302

{'User-Agent': 'python-requests/2.22.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Cookie': '__cfduid=[REDACTED]', 'Content-Length': '57', 'Content-Type': 'application/x-www-form-urlencoded'}

{'Date': 'Mon, 30 Sep 2019 06:13:43 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'X-Powered-By': 'PHP/5.6.32', 'X-Redirect-By': 'WordPress', 'Location': 'https://________/wp-login.php', 'Server': 'cloudflare', 'CF-RAY': '51e40d72d87c9691-SJC'}

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

Редактировать: успешный запрос POST при просмотре в инструментах разработчика Chrome содержит следующую строку данных:

log=[username]&pwd=[password]&wp-submit=Log+In&redirect_to=&testcookie=1
...