Как обойти ошибку wordpress Статус-код: 447, делаю вход через парсер на python?
Пишу парсер на python, который будет создавать автоматически новую запись и в неё закидывать нужные картинки по ключевым словам из библиотеки файлов этого же сайта. Проблема: почему-то не удается войти в админку через парсер; данные входа все верные. Решил узнать в чем проблема, вывело в консоль Статус-код: 447. Не знаю, как её обойти или как вообще можно войти в свою учетку через парсер.
Вот пример кода, который должен входить в учетку и создать там новую запись:
import requests
# Войти в учетную запись WordPress
def login(username, password):
session = requests.Session()
login_url = 'https://название сайта/wp-login.php'
data = {
'log': username,
'pwd': password,
'wp-submit': 'Log In',
'redirect_to': 'https://название сайта/wp-admin/',
'testcookie': '1'
}
response = session.post(login_url, data=data)
# Проверяем успешность входа в учетную запись
if response.status_code == 200 and 'wp-admin' in response.url:
print('Успешный вход в учетную запись')
return session
else:
print('Не удалось войти в учетную запись')
print('Статус-код:', response.status_code)
print('URL-адрес:', response.url)
print('Ответ сервера:', response.text)
return None
# Создать новую запись
def create_post(session, title, content):
post_url = 'https://название сайта/wp-admin/post-new.php'
data = {
'post_title': title,
'content': content,
'publish': 'Publish'
}
response = session.post(post_url, data=data)
# Проверяем успешное создание записи
if response.status_code == 200 and 'post.php' in response.url:
print('Запись успешно создана')
else:
print('Не удалось создать запись')
print('Статус-код:', response.status_code)
print('URL-адрес:', response.url)
print('Ответ сервера:', response.text)
# Пример использования парсера
session = login('логин здесь', 'пароль здесь')
if session is not None:
create_post(session, 'Новый пост', 'Содержимое нового поста')
Вот что пишет в консоли:
Не удалось войти в учетную запись
Статус-код: 447
URL-адрес: https://название сайта/wp-login.php
Ответ сервера:
Process finished with exit code 0