通过请求登录到 django admin
Login to django admin via requests
我想使用请求库通过 python 脚本登录 django 管理站点。
根据另一个帖子的回答 (here),我认为使用 requests.Session() 是合适的。但是在尝试以下代码时,我得到一个 403 - 禁止状态代码。
url = 'url_to_django_admin_login_page'
payload = {'username': 'some_username', 'password': 'some_password'}
with reqeuests.Session() as s:
r = s.post(url, data=payload)
print(r)
>>> <Response [403]>
我在浏览器中检查了凭据,所以应该没问题。
对于有效负载字典中的键,我尝试了表单输入字段键 name
和 id
的两个值(我认为 name
是正确的)
你忘了 CSRF
import requests
url = 'admin_url'
s = requests.Session()
s.get(url)
payload = {'username': 'admin', 'password': 'password', 'csrfmiddlewaretoken': s.cookies['csrftoken']}
r = s.post(url, data=payload)
print(r)
我想使用请求库通过 python 脚本登录 django 管理站点。
根据另一个帖子的回答 (here),我认为使用 requests.Session() 是合适的。但是在尝试以下代码时,我得到一个 403 - 禁止状态代码。
url = 'url_to_django_admin_login_page'
payload = {'username': 'some_username', 'password': 'some_password'}
with reqeuests.Session() as s:
r = s.post(url, data=payload)
print(r)
>>> <Response [403]>
我在浏览器中检查了凭据,所以应该没问题。
对于有效负载字典中的键,我尝试了表单输入字段键 name
和 id
的两个值(我认为 name
是正确的)
你忘了 CSRF
import requests
url = 'admin_url'
s = requests.Session()
s.get(url)
payload = {'username': 'admin', 'password': 'password', 'csrfmiddlewaretoken': s.cookies['csrftoken']}
r = s.post(url, data=payload)
print(r)