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字符串连接的N种方式总结
Sep 17 Python
实例讲解Python设计模式编程之工厂方法模式的使用
Mar 02 Python
Python判断两个对象相等的原理
Dec 12 Python
python根据unicode判断语言类型实例代码
Jan 17 Python
python实现梯度下降算法
Mar 24 Python
Opencv+Python 色彩通道拆分及合并的示例
Dec 08 Python
python生成器与迭代器详解
Jan 01 Python
python对csv文件追加写入列的方法
Aug 01 Python
Python面向对象魔法方法和单例模块代码实例
Mar 25 Python
python pymysql链接数据库查询结果转为Dataframe实例
Jun 05 Python
在Keras中CNN联合LSTM进行分类实例
Jun 29 Python
Python获取指定日期是"星期几"的6种方法
Mar 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操作xml代码
2010/06/17 PHP
php远程下载类分享
2016/04/13 PHP
表单JS弹出填写提示效果代码
2011/04/16 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
Javascript农历与公历相互转换的简单实例
2016/10/09 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[00:59]DOTA2背景故事第二期之四大基本法则
2020/07/07 DOTA
详解Django中的form库的使用
2015/07/18 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
python requests 测试代理ip是否生效
2018/07/25 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
python中的global关键字的使用方法
2019/08/20 Python
Django shell调试models输出的SQL语句方法
2019/08/29 Python
Python实现搜索算法的实例代码
2020/01/02 Python
教师党员个人自我剖析材料
2014/09/29 职场文书
优秀英文求职信范文
2015/03/19 职场文书
联村联户简报
2015/07/21 职场文书
Redis源码阅读:Redis字符串SDS详解
2021/07/15 Redis
angular异步验证器防抖实例详解
2022/03/31 Javascript