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 28 Python
深入理解Python中的内置常量
May 20 Python
virtualenv实现多个版本Python共存
Aug 21 Python
python处理Excel xlrd的简单使用
Sep 12 Python
python 列表输出重复值以及对应的角标方法
Jun 11 Python
python如何实现代码检查
Jun 28 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
简单了解Python读取大文件代码实例
Dec 18 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
May 15 Python
浅谈anaconda python 版本对应关系
Oct 07 Python
Python 实现一个简单的web服务器
Jan 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
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
php 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
jQuery EasyUI API 中文文档 - EasyLoader 加载器
2011/09/29 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
2012/05/23 Javascript
js 弹出框只弹一次(二次修改之后的)
2013/11/26 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
浅谈webpack 四个核心概念之Entry
2019/06/12 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python记录详细调用堆栈日志的方法
2015/05/05 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
简单了解python关系(比较)运算符
2019/07/08 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
出国留学介绍信
2014/01/13 职场文书
大学生活动策划方案
2014/02/10 职场文书
《阳光》教学反思
2014/02/23 职场文书
2015年环卫处个人工作总结
2015/07/27 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL