python - tipos - post django
¿Utiliza el módulo de solicitudes en Python para iniciar sesión en el fútbol de fantasía de la primera división de Barclays? (1)
Intento escribir un script de Python para permitirme iniciar sesión en mi cuenta de fútbol de fantasía en https://fantasy.premierleague.com/ , pero algo no está del todo bien con mi inicio de sesión. Cuando inicio sesión a través de mi navegador y compruebo los detalles usando las herramientas de desarrollador de Chrome, encuentro que la URL de solicitud es https://users.premierleague.com/accounts/login/ y los datos del formulario enviados son:
csrfmiddlewaretoken:[My token]
login:[My username]
password:[My password]
app:plfpl-web
redirect_uri:https://fantasy.premierleague.com/a/login
También hay un número de encabezados de Solicitud:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Content-Length:185
Content-Type:application/x-www-form-urlencoded
Cookie:[My cookies]
Host:users.premierleague.com
Origin:https://fantasy.premierleague.com
Referer:https://fantasy.premierleague.com/
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Así que escribí un script corto de Python usando la biblioteca de solicitudes para tratar de iniciar sesión y navegar a una página de la siguiente manera:
import requests
with requests.Session() as session:
url_home = ''https://fantasy.premierleague.com/''
html_home = session.get(url_home)
csrftoken = session.cookies[''csrftoken'']
values = {
''csrfmiddlewaretoken'': csrftoken,
''login'': <My username>,
''password'': <My password>,
''app'': ''plfpl-web'',
''redirect_uri'': ''https://fantasy.premierleague.com/a/login''
}
head = {
''Host'':''users.premierleague.com'',
''Referer'': ''https://fantasy.premierleague.com/'',
}
session.post(''https://users.premierleague.com/accounts/login/'',
data = values, headers = head)
url_transfers = ''https://fantasy.premierleague.com/a/squad/transfers''
html_transfers = session.get(url_transfers)
print(html_transfers.content)
Al imprimir el contenido de mi solicitud posterior, obtengo un error de código de respuesta HTML 500 con:
b''/n<html>/n<head>/n<title>Fastly error: unknown domain users.premierleague.com</title>/n</head>/n<body>/nFastly error: unknown domain: users.premierleague.com. Please check that this domain has been added to a service.</body></html>''
Si elimino el ''host'' de mi dict de cabeza, recibo un error de código de respuesta HTML 405 con:
b''''
Intenté incluir varias combinaciones de los encabezados de Solicitud en mi cabeza y nada parece funcionar.
Lo siguiente funcionó para mí. Simplemente eliminé headers = head
session.post(''https://users.premierleague.com/accounts/login/'',
data = values)
Creo que estás tratando de elegir a tu equipo programáticamente, como yo. Tu código me hizo comenzar gracias.