当前位置: 首页 > news >正文

如何在微信平台做购买网站百度云登录首页

如何在微信平台做购买网站,百度云登录首页,网站维护建设费应计入科目,集团门户网站建设方案 php为什么要使用session 前面介绍了如何使用reqesuts发起请求,今天介绍如何使用session发起请求。session简单理解就是一种会话机制,在浏览器中我们登录完之后,后面再请求服务数据都不需要再登录了,以为Cookie里已经保存了你的会话状…

为什么要使用session

前面介绍了如何使用reqesuts发起请求,今天介绍如何使用session发起请求。session简单理解就是一种会话机制,在浏览器中我们登录完之后,后面再请求服务数据都不需要再登录了,以为Cookie里已经保存了你的会话状态,每次请求会自动携带cookie参数,如果使用reqeusts.request就必须每次手动携带cookie参数。而reqeuest.Session()会话对象让你能够跨请求保持某些参数。它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 就不需要再手动每次处理cookie状态了。

参考文档:
官方文档

如何使用

session使用方式其实和reqeust方法差不都,也支持session.get(), session.post(), session.request()等方法。

s = requests.Session()s.get('https://httpbin.org/cookies/set/sessioncookie/123456789')
r = s.get('https://httpbin.org/cookies')print(r.text)
# '{"cookies": {"sessioncookie": "123456789"}}'

最佳实践 cookie复用

处理一些网站时需要的登录校验权限,可以通过session的方式请求,可以把登录后获取到的cookie保存起来,这样后面每次需要登录的时候,可以直接使用已经保存好的cookie,使用这个cookie去构造一个session,然后再发起请求,这样可以避免重复登录。适用于多机器并发式爬取数据。

cookie复用实践:

import json
import tracebackimport requests.utilsfrom executor.page_executor import PageExecutor
from file_path import get_absolute_pathcookie_path = get_absolute_path('data/cookie.txt')
request_session: requests.Session = Nonedef __load_cookie():'''加载本地cookie,如果存在加载,如果不存在就返回空:param session::return:'''try:with open(cookie_path, "r") as f:load_cookie = json.load(f)return requests.utils.cookiejar_from_dict(load_cookie)except Exception as e:traceback.print_exc()return Nonedef get_session():global request_sessionif request_session is not None:return request_sessionelse:request_session = requests.Session()exist_cookies = __load_cookie()if exist_cookies is not None:request_session.cookies.update(exist_cookies)return request_sessiondef save_cookie():# 登录成功, session里的cookie是最全的,response返回的cookie不全cookiejar = requests.utils.dict_from_cookiejar(request_session.cookies)with open(cookie_path, "w") as f:json.dump(cookiejar, f, indent=True)logger.info('cookies saved to ./data/cookie.txt')def update_cookie():'''为什么需要一个新的session# 走到这一步,说明session已经过期,重新获取session,需要重新处理下session# 1. 但是因为携带有旧的session,导致携带旧的__RequestVerificationToken和新的__RequestVerificationToken一起请求,登录失败# 2. 所以需要重新处理下session,主要是处理__RequestVerificationToken:return:'''error_cookie_jar = requests.utils.dict_from_cookiejar(request_session.cookies)new_cookie_jar = {'__RequestVerificationToken': error_cookie_jar['__RequestVerificationToken']}new_cookie = requests.utils.cookiejar_from_dict(new_cookie_jar)# 清空旧的cookierequest_session.cookies.clear_session_cookies()# 填充新的cookierequest_session.cookies.update(new_cookie)
http://www.dt0577.cn/news/16073.html

相关文章:

  • 做网站怎么切psd图热搜榜上能否吃自热火锅
  • 网站制作公司资质seo网站推广优化
  • wordpress可以做电影网站吗友情链接交易网站
  • 苏州老字号企业官方的网站策划书百度企业推广怎么收费
  • 北京网站建设华网百度移动端点赞排名软件
  • 做网站客户一般会问什么问题windows优化大师要会员
  • java服务器端开发是网站开发吗seo优化工程师
  • phpmysql动态网站开发黑河seo
  • 莆田网站开发公司以图搜图百度识图网页版
  • 做公司的网站网络推广工作怎么样
  • 西安专业网站建设公司哪家好seo快速排名是什么
  • 色情网站弹出窗口去掉网络营销心得体会300字
  • 来个手机能看的网站2021seo自然优化排名技巧
  • 建立企业门户网站成功品牌策划案例
  • 网站数字证书怎么做怎么让客户主动找你
  • diy建站系统益阳网站seo
  • jsp网站开发 英文五年级上册优化设计答案
  • 芜湖做网站建设公司财经新闻最新消息
  • 互联网装饰网站拉新十大推广app平台
  • 唯品会网站建设成都seo整站
  • 上海网站建设学校与管理中专免费域名
  • 除了网页外 网站还需要厦门seo排名收费
  • uc投放广告网站要自己做吗产品推广方法
  • 如何加快门户网站建设北京网站优化快速排名
  • 阳江网站制作google推广平台怎么做
  • 河南省建设厅网站地址企业网站设计制作
  • 网站开发 改进新网站推广方案
  • 山东天狐做网站cms百度网址大全网站大全
  • 做钢材的都用什么网站武汉seo网站优化排名
  • 传媒公司做网站编辑 如何网络营销成功的原因