
有些页面需要登录才可以访问,而服务器是根据cookie来进行判断的,服务器拿到浏览器的cookie,然后再数据库里进行查询判断,如果校验通过,则服务器认为是登录过的,才有继续访问的权限,否则,服务器可能会返回到登录页面让你进行登录。
设置cookie登录cookie = 登录后的cookies - 登录前的cookies
想发送你的cookies到服务器,可以使用 cookies 参数:
import requestsurl = ‘http://httpbin.org/cookies‘cookies = 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/cookies‘r = requests.get(url,cookies=jar)print(r.text)
结果:
{ "cookies": { "tasty_cookie": "yum" }}
如果某个响应中包含一些 cookie,你可以快速访问它们:
import requestsurl = ‘http://example.com/some/cookie/setting/url‘r = 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设置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)