Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1605318
  • 博文数量: 264
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1914
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 14:30
个人简介

自己慢慢积累。

文章分类

全部博文(264)

分类: Python/Ruby

2019-07-12 14:49:07

写了个接口测试的脚本,但是执行的时候,如果是session传递,登录没问题。如果是cookie传递的,就会有问题。但是自己把那两个接口单独拎出来顺序执行,cookie传递却又没问题。排查了一天,没有任何进展。就是莫名其妙的丢失了。
没办法,只能手动添加cookie了。
代码只截取了关键一部分


import requests
import os

    session = requests.session()
    
    # 第一个url是登录接口,第二个是查询接口

  1.     url = 'https://www.*******/login'
  2.     body = '{"account":"******","password":"***************"}'
  3.     header_new = {"Host": "www.*****.com","Content-Type": "application/json"}
  4.     response = session.post(url, data=body, headers=header_new, timeout=60)
  5.     print(response.text)
  6.     print(str(response.cookies))
  7.     
  8.     
  9.     # 获取上面执行结果的Cookie,然后利用CookieJar转为字典:
  10.     cookie_dict = requests.utils.dict_from_cookiejar(response.cookies)
  11.     
  12.     # 将字典转为CookieJar:
  13.     cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True)
  14.     
  15.     # 将cookie放到session里进行传递
  16.     session.cookies = cookies


  17.     url = 'https://www.******/corp/list'
  18.     body = '{"pageNumber":1,"pageSize":20,"status":2}'
  19.     header_new = {"Host": "www.*****.com","Content-Type": "application/json"}
  20.     response = session.post(url, data=body, headers=header_new, timeout=60)
  21.     print(response.text)
  22.     print(response.cookies)

打印了日志,发现cookie可以传递成功。
阅读(276332) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~