python实现测试工具(一)——命令行发送get请求


Posted in Python onOctober 19, 2020

本系列教程我们将使用python实现一些简单的测试工具,为了尽可能的简单,我们的工具以命令行工具为主。

本系列教程使用的python版本是3.6.3。

背景

这一节我们实现简单的命令行发送get请求的工具,使用方式如下:

python get.py www.v2ex.com/api/nodes/show.json\?name\=python
接口地址: http://www.v2ex.com/api/nodes/show.json?name=python

状态码: 200

Headers:
Date : Tue, 10 Jul 2018 07:06:12 GMT
Content-Type : application/json;charset=UTF-8
Transfer-Encoding : chunked
Connection : keep-alive
Vary : Accept-Encoding
X-Rate-Limit-Remaining : 119
Expires : Tue, 10 Jul 2018 08:03:49 GMT
Server : Galaxy/3.9.8.1
Etag : W/"76a33d25372411dc6fa4190a5cf9679caa0edc2a"
X-Rate-Limit-Reset : 1531209600
Cache-Control : max-age=3600
X-Rate-Limit-Limit : 120
Google : XY
Content-Encoding : gzip
Strict-Transport-Security : max-age=31536000
{
  "id" : 90,
  "name" : "python",
  "url" : "https://www.v2ex.com/go/python",
  "title" : "Python",
  "title_alternative" : "Python",
  "topics" : 9530,
  "stars" : 6601,

    "header" : "这里讨论各种 Python 语言编程话题,也包括 Django,Tornado 等框架的讨论。这里是一个能够帮助你解决实际问题的地方。",


    "footer" : null,

  "created" : 1278683336,
  "avatar_mini" : "//cdn.v2ex.com/navatar/8613/985e/90_mini.png?m=1531131631",
  "avatar_normal" : "//cdn.v2ex.com/navatar/8613/985e/90_normal.png?m=1531131631",
  "avatar_large" : "//cdn.v2ex.com/navatar/8613/985e/90_large.png?m=1531131631"
}

主要使用场景是快速访问http的api接口,查看状态码,响应头以及响应内容。

代码实现

简单起见,我们会用到requests库。

import requests
from sys import argv

USAGE = '''
USAGE:
python get.py https://api.github.com
'''

if len(argv) != 2:
 print(USAGE)
 exit()

script_name, url = argv

if url[:4] != 'http':
 url = 'http://' + url

r = requests.get(url)

print(f"接口地址: {url}\n")
print(f"状态码: {r.status_code}\n")
print(f"Headers:")
for key, value in r.headers.items():
 print(f"{key} : {value}")

print(r.text)

动手时间

  • 抄一遍代码,看自己能不能运行起来
  • 给这段代码每一行都加上注释,理解代码做了些什么
  • 如果需要在发送get请求的时候默认加上Content-Type: application/json的headers,这段代码该如何修改

源码地址

https://github.com/easonhan007/simple_test_tools

以上就是python实现测试工具(一)——命令行发送get请求的详细内容,更多关于python 命令行发送get请求的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
详细探究Python中的字典容器
Apr 14 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
Python操作配置文件ini的三种方法讲解
Feb 22 Python
Django项目基础配置和基本使用过程解析
Nov 25 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
python shapely.geometry.polygon任意两个四边形的IOU计算实例
Apr 12 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 Python
python实战之一步一步教你绘制小猪佩奇
Apr 22 Python
Python实战之疫苗研发情况可视化
May 18 Python
Pillow图像处理库安装及使用
Apr 12 Python
基于Python制作一副扑克牌过程详解
Oct 19 #Python
Python实现壁纸下载与轮换
Oct 19 #Python
Python调用REST API接口的几种方式汇总
Oct 19 #Python
Python爬虫抓取论坛关键字过程解析
Oct 19 #Python
python MD5加密的示例
Oct 19 #Python
python Yaml、Json、Dict之间的转化
Oct 19 #Python
Python pip 常用命令汇总
Oct 19 #Python
You might like
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
从新浪弄下来的全屏广告代码 与使用说明
2007/03/15 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
不间断循环滚动效果的实例代码(必看篇)
2016/10/08 Javascript
BOM之navigator对象和用户代理检测
2017/02/10 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
基于angular实现三级联动的生日插件
2017/05/12 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
vue项目部署上线遇到的问题及解决方法
2018/06/10 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
python实现的文件夹清理程序分享
2014/11/22 Python
Python单例模式实例分析
2015/01/14 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
HTML5中FileReader接口使用方法实例详解
2017/08/26 HTML / CSS
六五普法规划实施方案
2014/03/21 职场文书
2014党委书记四风对照检查材料思想汇报
2014/09/21 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
2015迎新晚会开场白
2015/07/17 职场文书
导游词之广西漓江
2019/11/02 职场文书