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解决计数原理问题的方法
Aug 04 Python
Python中偏函数用法示例
Jun 07 Python
Python实现定时执行任务的三种方式简单示例
Mar 30 Python
Django ORM 查询管理器源码解析
Aug 05 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 Python
Python将二维列表list的数据输出(TXT,Excel)
Apr 23 Python
使用python matploblib库绘制准确率,损失率折线图
Jun 16 Python
python开根号实例讲解
Aug 30 Python
基于python爬取链家二手房信息代码示例
Oct 21 Python
Django怎么在admin后台注册数据库表
Nov 14 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
DC最新动画电影:《战争之子》为何内容偏激,毁了一个不错的漫画
2020/04/09 欧美动漫
微博短链接算法php版本实现代码
2012/09/15 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
QUnit jQuery的TDD框架
2010/11/04 Javascript
js 处理URL实用技巧
2010/11/23 Javascript
JsDom 编程小结
2011/08/09 Javascript
借助script进行Http跨域请求:JSONP实现原理及代码
2013/03/19 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
关于RxJS Subject的学习笔记
2018/12/05 Javascript
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
详解JSON和JSONP劫持以及解决方法
2019/03/08 Javascript
taro开发微信小程序的实践
2019/05/21 Javascript
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
Python二进制串转换为通用字符串的方法
2018/07/23 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
用Python配平化学方程式的方法
2019/07/20 Python
从python读取sql的实例方法
2020/07/21 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
推广活动策划方案
2014/08/23 职场文书
先进人物事迹材料
2014/12/29 职场文书
综合管理员岗位职责
2015/02/11 职场文书
盲山观后感
2015/06/11 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
Python matplotlib绘制雷达图
2022/04/13 Python