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实现截屏的函数
Jul 26 Python
python中类变量与成员变量的使用注意点总结
Apr 29 Python
Python图像处理之gif动态图的解析与合成操作详解
Dec 30 Python
Python脚本修改阿里云的访问控制列表的方法
Mar 08 Python
Django如何防止定时任务并发浅析
May 14 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
有关Tensorflow梯度下降常用的优化方法分享
Feb 04 Python
解决Python import docx出错DLL load failed的问题
Feb 13 Python
使用python创建生成动态链接库dll的方法
May 09 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 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中的数组操作函数整理
2008/08/18 PHP
一篇有意思的技术文章php介绍篇
2010/10/26 PHP
PHP中simplexml_load_string函数使用说明
2011/01/01 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
PHP实现的购物车类实例
2015/06/17 PHP
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
js带按钮的提示框可供选择示例代码
2013/09/17 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
自制微信公众号一键排版工具
2016/09/22 Javascript
es6学习之解构时应该注意的点
2017/08/29 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
node中实现删除目录的几种方法
2019/06/24 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
使用pkg打包ThinkJS项目的方法步骤
2019/12/30 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
opencv与numpy的图像基本操作
2019/03/08 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
2019/12/27 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
Python闭包装饰器使用方法汇总
2020/06/29 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
销售工作岗位职责
2013/12/24 职场文书
麦当劳辞职信范文
2014/01/18 职场文书
旅游业大学生创业计划书
2014/01/31 职场文书
读群众路线心得体会
2014/03/07 职场文书
保护环境标语
2014/06/09 职场文书
孔子观后感
2015/06/08 职场文书
2015教师个人德育工作总结
2015/07/22 职场文书
Python机器学习应用之工业蒸汽数据分析篇详解
2022/01/18 Python
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL
maven 解包依赖项中的文件的解决方法
2022/07/15 Java/Android