如何使用python登录页面,要求服务器在第一次请求时响应会话ID?

hei*_*erg 8 python session request session-cookies

我正在编写一个脚本来登录某个网页.我为此目的使用了request和request.session模块.首次请求登录参数服务器响应会话id.如何设置该会话ID以进一步登录到同一页面.

url = "some url of login page"
payload = {'username': 'p05989', 'password': '123456'}
with requests.session() as s:
    s.post(url1, data=payload)
    sessionid = s.cookies.get('SESSIONID')
    print(sessionid)
    r = requests.get(url,data=payload)
    print(r.text)
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,服务器在第一次请求时响应sessionid.如何在第二次请求时使用该sessionid?

Mar*_*ers 12

你已经在使用requests.session(); 它会为您处理cookie,前提是您继续使用会话来满足您的所有要求:

url = "some url of login page"
payload = {'username': 'p05989', 'password': '123456'}
with requests.session() as s:
    # fetch the login page
    s.get(url)

    # post to the login form
    r = s.post(url1, data=payload)
    print(r.text)
Run Code Online (Sandbox Code Playgroud)

GET在发布到登录表单之前,您可能首先需要使用来设置会话ID.

SESSIONIDCookie是你透明地处理.