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

做网站下导航字号为多大成都seo培训班

做网站下导航字号为多大,成都seo培训班,用vs2012做简单网站,网站硬件防火墙requests 接口自动化测试requests库基本实现请求-GET基本实现请求-POST基本实现请求-补充 sessionCookie和Session案例params 接口自动化测试 概念程序驱动代替人工驱动去实现接口测试 实现方式 测试工具(jmeter, postman, …)编码工具(python, java, …) 比较 工具 优点:…

requests

    • 接口自动化测试
      • requests库
      • 基本实现请求-GET
      • 基本实现请求-POST
      • 基本实现请求-补充
    • session
    • Cookie和Session
    • 案例
    • params

接口自动化测试

概念程序驱动代替人工驱动去实现接口测试

实现方式

  • 测试工具(jmeter, postman, …)
  • 编码工具(python, java, …)

比较

  • 工具
    • 优点: 1.不需要编程基础 2.功能都是封装好的, 直接调用
    • 缺点: 不灵活
  • 编码
    • 优点: 灵活
    • 缺点: 1.需要编程基础 2.功能需要自实现, 效率偏低

requests库

概念 requests 库是使用 python 编写的, 可以调用该库的函数直接向服务器发送 http 请求, 并接收响应

角色定位 jmeter 中的 http 请求

安装

# 命令行输入命令并回车
pip install requests

需要有网络

校验

# 命令行输入命令并回车
pip list

基本实现请求-GET

"""需求: 编写 python 代码, 访问案例的查询接口 (/sa/listarea)流程: 三要素1.根据 url 定位接口资源2.提交测试数据3.发送请求, 接收并处理响应结果
"""
# 导包
import requests
# 一行代码搞定
response = requests.get("http://localhost:8081/sa/listarea")
# 打印结果
print("状态码:", response.status_code)
print("响应体:", response.text)

基本实现请求-POST


"""需求: 编写 python 代码, 访问案例的新增接口 (/sa/addarea)
"""
# 导包
import requests
# 三要素
data = {"areaName": "中发白", "priority": "123"}
response = requests.post("http://localhost:8081/sa/addarea", data=data)
print("状态码:", response.status_code)
print("响应体:", response.text)

基本实现请求-PUT

"""需求: 编写 python 代码, 访问案例的修改接口 (/sa/modifyarea)
"""
# 导包
import requests
# 三要素
# data = {"areaName": "中发白", "priority": "123"}
myJson = {"areaId": "40","areaName": "东南西北中发白","priority": "888"
}
response = requests.put("http://localhost:8081/sa/modifyarea", json=myJson)
print("状态码:", response.status_code)
print("响应体:", response.text)

基本实现请求-DELETE

"""需求: 编写 python 代码, 访问案例的删除接口 (/sa/removearea)
"""
# 导包
import requests
# 三要素
response = requests.delete("http://localhost:8081/sa/removearea", params={"areaId": "40"})
print("状态码:", response.status_code)
print("响应体:", response.text)

基本实现请求-补充

四种操作的代码结构基本一致

区别

  • 函数名不同

  • 提交测试数据的参数名不同

    • get/delete 使用 params

    • post/put 使用 data/json

      data 提交键值对格式数据

      json 提交JSON格式数据

为什么

  • get/delete 请求格式: 提交的数据在请求行
  • post/put 请求格式: 提交的数据在请求体

基本实现响应-response 响应由行头体三部分组成, 解析也是围绕行头体解析


"""需求: 响应由行头体三部分组成, 需要用requests 相关实现解析响应中的行头体
"""
import requests
response = requests.get("http://www.baidu.com")
# 行解析
print("URL:", response.url)
print("状态码:", response.status_code)
print("-"*80)
# 头获取
print("获取所有响应头:", response.headers)
print("获取所有cookie:", response.cookies)
print("获取所有编码集:", response.encoding)
print("-"*80)
# 体获取
print("以文本的方式获取响应体:", response.text)    # 服务器传过来的是文本信息, 如 html 文档
# print("以二进制的方式获取响应体:", response.content)    # 服务器传过来的是图片/视频/音频等非文本数据
# print("以JSON的方式获取响应体:", response.json())    # 服务器传过来的是json格式数据, 调用该方法以json语法解析数据

登录实现思路cookie

# 核心知识点: 关联
# 获取登录接口响应的 cookie, 提取出来作为查询订单接口要提交的参数
import requests
# 访问接口1: 访问登录接口
response1 = requests.post("login接口", data={"username": "xxx", "password": "yyy"})
# 获取 cookie, 再获取 cookie 中的 xxID 形式类似于{"xxID": "zzz"}
id = response1.cookies.get("xxID")
# 访问接口2: 订单查询接口
requests.get("查询订单接口", cookies={"xxID": id})

session

import requests
# 获取 session 对象
mySession = requests.Session()
# 请求1: 使用 session 登录
#requests.post(...)
response1 = mySession.post("login接口", data={"username": "xxx", "password": "yyy"})
# 请求2: 使用 session 获取订单
response2 = mySession.get("查询订单接口")

Cookie和Session

都是用于在Web应用程序中跟踪用户状态的机制,但它们之间有一些关键区别。
Cookie

1.定义:Cookie是在用户计算机上存储的小型文本文件,由服务器发送到用户的浏览器,并保存在浏览器的文件系统中。
2.用途:主要用于在客户端(用户的浏览器)和服务器之间传递信息,以跟踪和识别用户。通常,Cookie包含有关用户的会话信息、偏好设置或其他数据。
3.特点:

a.被存储在用户的本地计算机上,因此可以在不同的页面和会话之间持久存在。
b.可以设置过期时间,可以是会话级别的(浏览器关闭时删除)或持久性的(在指定的时间后过期)。
c.由于存储在客户端,Cookie可以在用户访问网站时发送给服务器,从而识别用户并提供个性化的体验。

Session

1.定义:Session是在服务器上创建的唯一会话标识符,用于跟踪用户在网站上的活动状态。
2.用途:主要用于在服务器端存储用户的状态信息,以便在用户访问网站的不同页面时保持用户的状态和数据。
3.特点:

a.存储在服务器上,通常以内存中的数据结构或数据库中的条目的形式存在。
b.每个会话都有一个唯一的会话标识符(Session ID),通过该标识符可以在用户请求之间识别用户。
c.由于存储在服务器上,Session数据对客户端不可见,因此相对于Cookie更安全。
d.通常,Session会在用户关闭浏览器或一段时间后过期,具体取决于服务器的配置。

总结:

1.Cookie存储在客户端,而Session存储在服务器端。
2.Cookie通常用于识别和跟踪用户,而Session用于在用户访问期间保持状态和数据。
3.Cookie的生命周期由客户端控制,而Session的生命周期由服务器控制。
4.Cookie对客户端可见,可以在不同的页面和会话之间持久存在,而Session对客户端不可见,只能通SessionID来识别用户。
5.Cookie通常用于存储较小的数据,而Session可以存储更大量的数据。

案例

需求

使用 requests库调用 tpshop登录功能的相关接口, 完成登录操作, 登录成功后获取 “我的订单” 页面(其实就是访问订单列表接口)

相关接口:
1.获取验证码:http://localhost/index.php?m=Home&c=User&a=verify GET(此接口返回验证码 和 cookie)
2.登录:http://localhost/index.php?m=Home&c=User&a=do_login POST参数: {"username":"xxxxx","password":"yyyy","verify_code":"zzzz"},非 JSON 提交
3.我的订单:http://localhost/Home/Order/order_list.html GET

cookie

import requests
# 1.获取验证码, 并获得 cookie  中的 PHPSESSID
response1 = requests.get("http://localhost/index.php?m=Home&c=User&a=verify")
print(response1.status_code)
print(response1.cookies)
id = response1.cookies.get("PHPSESSID")
print(id)
print("-"*80)
# 2.登录, 并提交cookie
data = {"username": "17150312012", "password": "123456", "verify_code": "8888"}
cookie = {"PHPSESSID": id}
response2 = requests.post("http://localhost/index.php?m=Home&c=User&a=do_login", data=data, cookies=cookie)
print(response2.status_code)
print(response2.text)
print("-"*80)
# 3.获取订单, 需要再次提交 cookie
response3 = requests.get("http://localhost/Home/Order/order_list.html", cookies=cookie)
print(response3.status_code)
print(response3.text)

session

import requests
# 创建 session 对象
session = requests.Session()
# 1.获取验证码(隐式获取cookie)
response1 = session.get("http://localhost/index.php?m=Home&c=User&a=verify")
print(response1.status_code)
print("-"*80)
# 2.登录
data = {"username": "17150312012", "password": "123456", "verify_code": "8888"}
response2 = session.post("http://localhost/index.php?m=Home&c=User&a=do_login", data=data)
print(response2.status_code)
print(response2.text)
print("-"*80)
# 3.获取订单
response3 = session.get("http://localhost/Home/Order/order_list.html")
print(response3.status_code)
print(response3.text)

params

  1. URL 参数:在Web开发中,“params” 可能指的是通过 URL 传递的参数。例如,在以下URL中,“params”部分指的是参数:https://example.com/api?param1=value1&param2=value2
  2. 函数参数:在编程中,特别是在函数或方法中,“params”通常是指传递给函数或方法的参数。例如,在Python中定义一个函数时可以指定参数,然后在调用函数时传递这些参数。
  3. HTTP 请求参数:在Web开发中,“params” 可能指的是在 HTTP 请求中发送的参数。这些参数可以是通过 URL 查询字符串传递的,也可以是通过 POST 请求体发送的。
  4. 数据库查询参数:在数据库查询中,“params” 通常指的是用于过滤、排序或限制结果的参数。这些参数可以是通过 SQL 查询语句的参数化查询传递的。
http://www.yidumall.com/news/76747.html

相关文章:

  • 庆元县建设局网站app开发平台开发
  • 入门网站分析应该怎么做企业营销培训课程
  • 中国建筑app下载官网seo外推软件
  • 百度高级搜索长沙网站优化指导
  • 全网营销型网站建设武汉网站推广公司
  • 做毕设网站多少钱手机优化大师下载
  • 清风网站建设seo短视频发布页
  • 哪个网站有利于做课件如何在百度搜索到自己的网站
  • 宁波建设厅网站seo搜索引擎优化试题及答案
  • 浪网站制作百度收录批量查询
  • 网站建设是半年的持久战东莞关键词排名推广
  • 时事军事新闻网九幺seo工具
  • 新手学做网站pdf网址大全浏览器app
  • 做网站界面尺寸输入关键词搜索
  • 公司网站建设需要些什么要求培训心得简短50字
  • 济宁网站建设 优化培训真正永久免费网站建设
  • 涿州城乡建设委员会的网站营销策划公司名字
  • 一台云服务器可以做几个网站seo优化一般包括哪些内容
  • 浙江住房城乡建设厅网站首页百度搜图片功能
  • 南昌专业网站排名推广明星百度指数排行
  • 美容行业手机网站模版海南快速seo排名优化
  • 做网站怎么接广告赚钱吗网络营销外包网络推广
  • 截图京东图片做网站今日新闻头条10条
  • 重庆做营销网站建设广告软文范例大全100
  • 电子商务网站版面布局舆情信息怎么写
  • 哪类小网站容易做系统优化大师免费版
  • 做企业网站的尺寸是多少钱百度人工客服24小时
  • 佛山优化网站广告联盟怎么做
  • wordpress自定义钩子seo软文代写
  • 网站如果不备案金泉网做网站多少钱