# coding:utf-8

import requests

import re

from bs4 import BeautifulSoup

# s = requests.session() # 全局的s

def get_token(s):

'''

fuction: 获取token

args: s 参数 -》s = requests.session()

:return anti_token ->{'X-Anit-Forge-Token': 'xx', 'X-Anit-Forge-Code': '38515842'}

'''

# 局部的s没定义,从外部传入s

url = 'https://passport.lagou.com/login/login.html'

h1 = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0"

}

r1 = s.get(url, headers=h1, verify=False)

# print(r1.text)

soup = BeautifulSoup(r1.content, "html.parser", from_encoding='utf-8')

tokenCode = {}

try:

t = soup.find_all('script')[1].get_text()

print(t)

tokenCode['X_Anti_Forge_Token'] = re.findall(r"Token = '(.+?)'", t)[0]

tokenCode['X_Anti_Forge_Code'] = re.findall(r"Code = '(.+?)'", t)[0]

return tokenCode

except:

print("获取token和code失败")

tokenCode['X_Anti_Forge_Token'] = ""

tokenCode['X_Anti_Forge_Code'] = ""

return tokenCode

def login_lgw(s, anti_token, user, psw):

url2 = 'https://passport.lagou.com/login/login.json'

h2 = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",

"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",

"X-Requested-With": "XMLHttpRequest",

"X-Anit-Forge-Token": anti_token['X_Anti_Forge_Token'] ,

"X-Anit-Forge-Code": anti_token['X_Anti_Forge_Code'],

"Referer": "https://passport.lagou.com/login/login.html"

}

body ={

"isValidate": "true",

"username": user,

"password": psw,

"request_form_verifyCode": "",

"submit": ""

}

print(s.headers) # s的头部

# 更新s的头部

s.headers.update(h2)

print(s.headers)

r2 = s.post(url2, data=body, verify=False)

print(r2.text)

return r2.json()

if __name__ == "__main__":

# 自测的内容

s = requests.session()

token = get_token(s)

print(token)

user = "1232"

psw = "322222"

login_lgw(s, token, user, psw)

python写接口函数_python接口自动化测试二十:函数写接口测试相关推荐

  1. python接口自动化测试二十四:上传多个附件,参数化

    python接口自动化测试二十四:上传多个附件,参数化 # 添加多个附件参数化files = [("1.png", "1.png") ("2.png& ...

  2. python 接口自动化_Python 接口自动化测试

    1. 接口基础知识 1.1 接口分类 接口一般来说有两种,一种是程序内部的接口,一种是系统对外的接口. (1) webservice接口:走soap协议通过http传输,请求报文和返回报文都是xml格 ...

  3. python 匿名回调函数_Python面试题之回调函数

    编程分为两类:系统编程(system programming)和应用编程(application programming).所谓系统编程,简单来说,就是编写库:而应用编程就是利用写好的各种库来编写具某 ...

  4. python中mat函数_python matplotlib中的subplot函数使用详解

    python里面的matplotlib.pylot是大家比较常用的,功能也还不错的一个包.基本框架比较简单,但是做一个功能完善且比较好看整洁的图,免不了要网上查找一些函数.于是,为了节省时间,可以一劳 ...

  5. python def return 文件_python基础-文件处理与函数

    1. 文件处理 1.1 文件处理流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 1.2 文件读取模式r r文本模式的读,在文件不存在,不会创建新文件 f = ...

  6. python 导入包 作用域_Python 包、模块、函数、变量作用域

    Python 项目的组织结构 - 包 -- 模块 --- 类 ---- 函数.变量 Python是利用包和模块来组织一个项目的. 包: 包的物理表现是一个文件夹,但是一个文件夹却不一定是个包,要想让个 ...

  7. python语法基础语法_Python基本语法[二],python入门到精通[四]

    在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...

  8. python函数装饰函数_Python精进-装饰器与函数对象

    本文为<爬着学Python>系列第四篇文章. 从本篇开始,本专栏在顺序更新的基础上,会有不规则的更新. 在Python的学习与运用中,我们迟早会遇到装饰器,这个概念对于初识装饰器的新手来说 ...

  9. python 运行时间 装饰器_python 装饰器统计某个函数的运行时间

    import datetime def count_time(func): def int_time(*args, **kwargs): start_time = datetime.datetime. ...

  10. python nums函数_Python中的内置函数

    Python中有很多内置函数,不需要我们调用模块可以直接使用,而且都是常用函数的封装,下面我们来看看Python中的内置函数都有那些. 1.abs() abs()是绝对值函数,把一个负数转化为正数,数 ...

最新文章

  1. Pandas基础复习-DataFrame
  2. 离线版的SAP中F1帮助
  3. Makefile总结
  4. 二分+并查集【bzoj3007】[SDOI2012]拯救小云公主
  5. TensorFlow学习笔记(五)Session的2种用法
  6. django 中使用 channels 实现websocket
  7. Java Socket实战之四 传输压缩对象
  8. document.compatMode的CSS1compat
  9. 互联网晚报 | 12月28日 星期二 | 百度首次在元宇宙开会;快手美团达成互联互通合作;新能源车险交易平台正式上线...
  10. Spring Boot Questions- Part 1
  11. 智能一代云平台(三十):逆向工程生成mybatis
  12. mongodb update操作
  13. freeswitch添加tls加密
  14. 学数学建模算法对计算机的好处,浅议数学建模与算法
  15. UDP协议实现聊天小程序
  16. 服务器硬盘噪音大怎么回事,东芝服务器硬盘响声大吗?
  17. 用计算机三角函数公式,电脑是通过什么公式计算出三角函数的?
  18. python中shuffle是什么意思_python中shuffle()方法的功能详解
  19. Linux与ISCSI
  20. GAMES202 笔记 -Real-Time Ray-Tracing

热门文章

  1. 单片机实用工具大全,超级赞,工程师必备!
  2. Java接口有时有结果 有时没有_《Java程序员面试笔试宝典》之为什么Java中有些接口没有任何方法...
  3. word域变成正常文本_超级干货|最全的PPT、Excel、Word实用宝典,助你办公效率翻倍!...
  4. c语言绘制路面图形代码,道路纵断面绘图程序的开发.pdf
  5. 关于鸿蒙系统报告,华为鸿蒙操作系统研究报告:全景解构(21页)
  6. 数字电路反相器符号_数字电路の门电路(1)
  7. upload-labs_pass21_CTF逻辑老饶了
  8. matlab 判断元素索引_matlab – 获取矩阵中n个最大元素的索引
  9. p沟道mos管导通条件_场效应管(MOS管)的判断与应用知识
  10. python将小时数换成分钟_如何在Python中将datetime.timedelta转换为分钟、小时?