网站首页 > 博客文章 正文
前言
我们知道Python发送网络HTTP请求非常简单,只需要调用requests库,即可完成一个HTTP请求,但是它自身打印出来的结果还是不太友好。
我们可以在此基础上,打印一些常用的HTTP报文信息,方便我们自己熟悉接口的完整交互。
GET请求例子
import json
from urllib.parse import urlencode
import requests
# 格式化json
def format_json(json_data):
if isinstance(json_data, dict):
return json.dumps(json_data, indent=4).encode('utf-8').decode('unicode_escape')
else:
return json.dumps(json.loads(json_data), indent=4).encode('utf-8').decode('unicode_escape')
# resp_type: 响应的类型是json串,还是非json串
# show_respbody: 是否打印响应的Body正文
def get_request(url, headers, params, resp_type=None, show_respbody=True):
print("\n1.请求URL:")
if len(params) == 0:
print("%s" % (url))
else:
print("%s?%s" % (url, urlencode(params)))
print("\n2.请求方式:")
print("GET")
print("\n3.请求headers:")
print("%s" % (headers))
try:
r = requests.get(url, headers=headers, params=params)
r_status = r.status_code
r_body = r.text
except Exception as e:
print("\n4.请求异常:")
print("{}".format(str(e)))
return 500, None
print("\n4.响应状态码:")
print("%s" % (r_status))
print("\n5.响应结果:")
if show_respbody:
if resp_type == "json":
r_body = format_json(r_body)
print("%s" % (r_body))
else:
if '{"' in r_body:
r_body = format_json(r_body)
print("%s" % (r_body))
else:
print("%s" % (r_body))
else:
print("配置不显示响应信息")
return r_status, r_body
打印HTTP报文信息
1.请求URL:
http://10.10.10.10:8083/query/template?token=123
2.请求方式:
GET
3.请求headers:
{'Content-Type': 'text/plain;charset=UTF-8'}
4.响应状态码:
200
5.响应结果:
{
"returnCode": "000000",
"description": "请求成功"
}
结束
当你想了解接口是否符合规范,通过上面的小小例子,这样是不是更加直观了。
如果喜欢本文的话,请关注+收藏,谢谢。
- 上一篇: 物流理论学习 物流信息技术 - EDI
- 下一篇: 携程机票前台Trace系统的演进之路
猜你喜欢
- 2024-11-04 SpringBoot系列教程22-整合SpringMVC之HttpMessageConverters
- 2024-11-04 前端部分面试总结(前端面试知识点总结)
- 2024-11-04 学习笔记-身份认证攻击漏洞,文件上传漏洞
- 2024-11-04 java和js实现 RSA+AES接口验签和参数加密 非对称加密非对称加密
- 2024-11-04 工业以太网基础知识介绍—网络体系及标准
- 2024-11-04 「网工必备」网络协议模型和各层作用,带你10分钟get新技能
- 2024-11-04 HTTP协议(http协议的作用)
- 2024-11-04 计算机网络|计算机网络体系结构(计算机网络体系结构知识点)
- 2024-11-04 用于EDI的应用大大提高了效率,减少了纸张的使用
- 2024-11-04 Java安全编码军规(java安全编码规范考试题答案)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)