当前位置: 首页 > news >正文

httpx比requests更加优秀-httpx比requests更加优秀

前言

相信你和我一样,在日常的工作中,requests 库被广泛使用。今天我要为你介绍一款号称下一代全功能的 HTTP 客户端:httpx

什么是 httpx

httpxPython3 的全功能客户端,支持同步&异步 API,同时支持 HTTP/1.1HTTP/2

相比其他 HTTP 库,httpx 具有更加易用的接口,更加强大的功能,是未来 Python 开发者的不二选择。

安装和使用

安装

pip install httpx

get

import httpx# get obj
res = httpx.get('https://www.baidu.com')
print(res,res.status_code)# response content,text
print(res.content,res.text)

代码运行结果

对于 contenttext 的去区别,从图中可以直观的看到,content 的类型为 bytes,而 text 的类型为 str

post

# post objres = httpx.post('http://127.0.0.1:4523/mock/351132/pet',data={'name':'Python测试和开发','status':'Python_Lab'})print(res.text,type(res.content),res.status_code,res.encoding)

代码运行结果

因为我们使用了 mock server,所以接口返回的数据可能和我们请求的不一致。

put

# put pbjres = httpx.put('http://127.0.0.1:4523/mock/351132/pet',params={'apifoxResponseId':'321249'})
print(res.status_code,res.encoding,res.text)

代码运行结果

delete

# delete objres = httpx.delete('http://127.0.0.1:4523/mock/351132/pet/1')
print(res.status_code,res.encoding,res.text)

代码运行结果

高级用法

处理 json

通常对于 content 返回是 bytes 或者 str 的数据,我们需要单独使用 json 模块进行数据转换,但是现在我们可以直接使用 httpx 为我们提供的 json 方法拿到字典对象,从而方便的进行数据处理。

import httpx# json
res = httpx.get('https://getman.cn/mock/post')
print(type(res.text),type(res.content),type(res.json()),res.json())

代码运行结果

处理二进制

当我们需要下载图片的时候,通常我们是将 content 的内容分块读取,然后写入文件。但是 httpx 建议我们使用 pillowio 来处理图片的二进制内容。

import httpx
from PIL import Image
from io import BytesIO# bytes
res = httpx.get('http://localhost:8765/um/imgs/')
print(res.status_code)
ff = Image.open(BytesIO(res.content))
ff.save('xx.png')

下载的图片

httpx 支持所有 requestsraise_for_status()等所有方法,还新增了部分特性,例如 httpx.codes.OK 代替 200 响应码的短语等动能。总之,httpx 是一款值得学习的优秀软件。

官方文档

https://www.python-httpx.org/

以上就是今天的全部内容了,感谢您的阅读,我们下节再会。

http://www.jsqmd.com/news/27594/

相关文章:

  • HttpRunner-8-数据驱动-httprunner-8
  • HttpRunner-7-用例分层-httprunner-7
  • HttpRunner-6-环境变量-httprunner-6
  • HttpRunner-5-DebugTalk-httprunner-5
  • 制造业运营管理新突破:Tita 赋能下的精益生产与协同发展
  • 2025年10月上海装修公司对比榜:五强真实口碑与工期排名
  • 测试开发必看!JVM调优10大技巧,性能瓶颈瞬间搞定
  • Dify入门实战:5分钟搭建你的第一个AI测试用例生成器
  • .NET Core + Docker 部署:Serilog 日志配置与查看全攻略
  • 2025年10月国内环保工程设备厂家前5名推荐榜单
  • 测试同学要求我们产品写用例,然后你们照着测?
  • 光伏支架冲孔机生产厂家:探索高效制造解决方案
  • 2025年光伏支架冲孔机源头厂家推荐榜单:技术革新与市场格局深度解析
  • 2025年克拉玛依壁挂炉公司权威推荐榜单:燃气壁挂炉/万家乐壁挂炉/威能壁挂炉服务商精选
  • weblogic、thinkphp、shiro反序列化漏洞
  • PandaCoder 2.4.3 震撼发布!
  • 2025年油污泥脱水机制造企业权威推荐榜单:洗煤污泥脱水机/带式浓缩污泥脱水机/尾矿污泥脱水机源头厂家精选
  • 2025 年洗墙灯厂家最新推荐榜,技术实力与市场口碑深度解析,严选高品质户外照明品牌防尘洗墙灯/酒店洗墙灯/建筑洗墙灯公司推荐
  • 2025 年加药装置厂家最新推荐榜,技术实力与市场口碑深度解析,精选高适配性优质品牌加药装置/江苏加药装置公司推荐
  • 钢坝闸厂家:创新水工解决方案的领导者
  • 2025年衡水出租救护车公司权威推荐榜单:短途救护车出租/跨省救护车出租/私家救护车出租源头服务商精选
  • 2025 年叠螺机生产厂家最新推荐榜,聚焦企业技术实力与市场口碑深度解析食品厂污泥脱水叠螺机/畜牧养殖污泥处理叠螺机公司推荐
  • 9619
  • 2025年泉州下水疏通机公司权威推荐榜单:管道疏通机/下水道高压疏通机/高压疏通机源头公司精选
  • 2025年10月工业期皮带厂家前五强权威排行榜
  • 2025年10月教育资源好的学习机品牌推荐:销量榜评测报告
  • 《星球大战:克隆人战争》中的片头格言
  • 首页进来的天翼云广告
  • matlab byte 转 bit 函数编写
  • 2025年10月教育资源好的学习机品牌推荐:实力榜全面评测