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中subprocess模块用法实例详解
May 20 Python
详解python实现线程安全的单例模式
Mar 05 Python
python增加矩阵维度的实例讲解
Apr 04 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
PyQt打开保存对话框的方法和使用详解
Feb 27 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
Python分析彩票记录并预测中奖号码过程详解
Jul 09 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 Python
python中的Elasticsearch操作汇总
Oct 30 Python
Python Numpy数组扩展repeat和tile使用实例解析
Dec 09 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
May 09 Python
神经网络训练采用gpu设置的方式
Mar 03 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程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
用javascript实现点击链接弹出"图片另存为"而不是直接打开
2007/08/15 Javascript
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
jQuery结合CSS制作动态的下拉菜单
2015/10/27 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
2016/04/12 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
2017/12/08 Javascript
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
Python中的文件和目录操作实现代码
2011/03/13 Python
Python读取mp3中ID3信息的方法
2015/03/05 Python
python中使用序列的方法
2015/08/03 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
爱游人:Travelliker
2017/09/05 全球购物
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
会计专业自我鉴定范文
2013/10/06 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
给上级领导的感谢信
2015/01/22 职场文书
社区母亲节活动总结
2015/02/10 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
初中毕业生自我评价
2015/03/02 职场文书
物业客服专员岗位职责
2015/04/07 职场文书
调任通知
2015/04/21 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
了解Kubernetes中的Service和Endpoint
2022/04/01 Servers