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装饰器验证配置文件示例
Feb 24 Python
Python构造函数及解构函数介绍
Feb 26 Python
python使用socket进行简单网络连接的方法
Apr 29 Python
深入学习Python中的上下文管理器与else块
Aug 27 Python
对python文件读写的缓冲行为详解
Feb 13 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
Mar 11 Python
在pytorch中为Module和Tensor指定GPU的例子
Aug 19 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
Apr 08 Python
python实现人像动漫化的示例代码
May 17 Python
Django-imagekit的使用详解
Jul 06 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
python开发飞机大战游戏
Jul 15 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遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
2017/06/09 PHP
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
详解vue axios中文文档
2017/09/12 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
[00:36]TI7不朽珍藏III——斯温不朽展示
2017/07/15 DOTA
python采用getopt解析命令行输入参数实例
2014/09/30 Python
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
python 字段拆分详解
2019/12/17 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
2020/05/11 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
社区工作者感言
2014/03/02 职场文书
企业文化口号
2014/06/12 职场文书
2014年信用社工作总结
2014/11/25 职场文书
邀请函模板
2015/02/02 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android