使用 Python 模块请求登录

2024-09-29 23:27:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要登录一个有请求的网站,但我所做的一切都不起作用:

from bs4 import BeautifulSoup as bs
import requests
s = requests.session()
url = 'https://www.ent-place.fr/CookieAuth.dll?GetLogon?curl=Z2F&reason=0&formdir=5'


def authenticate():
    headers = {'username': 'myuser', 'password': 'mypasss', '_Id': 'submit'}
    page = s.get(url)
    soup = bs(page.content)
    value = soup.form.find_all('input')[2]['value']
    headers.update({'value_name':value})
    auth = s.post(url, params=headers, cookies=page.cookies)

authenticate()

或:

import requests

payload = {
    'inUserName': 'user',
    'inUserPass': 'pass'
}

with requests.Session() as s:
    p = s.post('https://www.ent-place.fr/CookieAuth.dll?GetLogon?curl=Z2F&reason=0&formdir=5', data=payload)
    print(p.text)
    print(p.status_code)
    r = s.get('A protected web page url')
    print(r.text)

当我尝试使用.status\代码时,它返回200,但我想要401或403来执行类似“if login”的脚本。。。你知道吗

有人知道怎么做吗?你知道吗


Tags: httpsimporturlbsvalueaswwwpage
2条回答

你可以试试这个。你知道吗

您的登录url不正确,您可以在浏览器的开发人员工具中检查网络请求。你知道吗

import requests

payload = {
    'username': 'user',
    'password': 'pass'
}

with requests.Session() as s:
    p = s.post('https://www.ent-place.fr/CookieAuth.dll?Logon', data=payload)
    print(p.text)
    print(p.status_code)

这些是您应该提供的参数。你知道吗

curl:Z2F
flags:0
forcedownlevel:0
formdir:5
username:yourusername
password:yourpassword
SubmitCreds.x:57
SubmitCreds.y:23
SubmitCreds:Ouvrir une session

相关问题 更多 >

    热门问题