requests--Cookie设置

requests--Cookie设置,第1张

概述前戏 有些页面需要登录才可以访问,而服务器是根据cookie来进行判断的,服务器拿到浏览器的cookie,然后再数据库里进行查询判断,如果校验通过,则服务器认为是登录过的,才有继续访问的权限,否则,服务器可能会返回到登录页面让你进行登录。 设置cookie 登录cookie = 登录后的cookies  -  登录前的cookies 想发送你的cookies到服务器,可以使用 cookies 参数 前戏

有些页面需要登录才可以访问,而服务器是根据cookie来进行判断的,服务器拿到浏览器的cookie,然后再数据库里进行查询判断,如果校验通过,则服务器认为是登录过的,才有继续访问的权限,否则,服务器可能会返回到登录页面让你进行登录。

设置cookie

登录cookie = 登录后的cookies  -  登录前的cookies

想发送你的cookies到服务器,可以使用 cookies 参数:

import requestsurl = http://httpbin.org/cookiescookies = dict(cookies_are=working)r = requests.get(url,cookies=cookies)print(r.text)

结果:

{  "cookies": {    "cookies_are": "working"  }}

cookie 的返回对象为 RequestscookieJar,它的行为和字典类似,但接口更为完整,适合跨域名跨路径使用。你还可以把 cookie Jar 传到 Requests 中:

import requestsjar = requests.cookies.RequestscookieJar()jar.set(tasty_cookie,yum,domain=httpbin.org,path=/cookies)jar.set(gross_cookie,blech,path=/elsewhere)url = http://httpbin.org/cookiesr = requests.get(url,cookies=jar)print(r.text)

结果:

{  "cookies": {    "tasty_cookie": "yum"  }}

如果某个响应中包含一些 cookie,你可以快速访问它们:

import requestsurl = http://example.com/some/cookie/setting/urlr = requests.get(url)print(r.cookies[example_cookie_name])
实战
import requests# 先打开登录首页,获取部分cookieurl = "https://passport.cnblogs.com/user/signin"headers = {    "User-Agent": "Mozilla/5.0 (windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 firefox/44.0"}r = requests.get(url,headers=headers,verify=False)print(r.cookies)  # 添加前的cookies# 添加登录需要的两个cookiec = requests.cookies.RequestscookieJar()c.set(.CNBlogscookie,xxx)  # 填抓包内容c.set(.Cnblogs.AspNetCore.cookies,xxx)  # 填抓包内容r.cookies.update(c)  # 更新cookiesprint(r.cookies)  # 添加后的cookies
总结

以上是内存溢出为你收集整理的requests--Cookie设置全部内容,希望文章能够帮你解决requests--Cookie设置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1030367.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存