httpx 介绍

2022-07-26 09:39 更新

HTTPX是Python 3的全功能HTTP客户端,它提供同步和异步API,并支持HTTP / 1.1和HTTP / 2。

 为了方便对方法的理解,本篇教程全文代码基本都是采用python shell 环境进行调试!

使用 pip 安装 HTTPX:

pip install httpx

现在,让我们开始吧:

>>> import httpx
>>> r = httpx.get('https://www.example.org/')
>>> r
<Response [200 OK]>
>>> r.status_code
200
>>> r.headers['content-type']
'text/html; charset=UTF-8'
>>> r.text
'<!doctype html>\n<html>\n<head>\n<title>Example Domain</title>...'

或者,使用命令行客户端。

# 命令行客户端是可选的依赖项。以下为MacOS下运行的命令

$ pip install 'httpx[cli]' #以下是Windows下运行的命令 pip install httpx[cli]

现在允许我们直接从命令行使用HTTPX...

1


正在发送请求...


特点

HTTPX 建立在​requests​的成熟可用性之上,并为您提供:

加上​requests​所有标准功能...

  • 国际域名和网址
  • Keep-Alive & Connection Pooling
  • 具有 Cookie 持久性的会话
  • 浏览器式 SSL 验证
  • 基本/摘要式身份验证
  • 优雅的键/值Cookie
  • 自动解压
  • 自动内容解码
  • Unicode 响应的 Body
  • 分段文件上传
  • 代理支持
  • 连接超时
  • 流式传输下载
  • .NETrc​ 支持
  • 分块请求

文档

有关所有基础知识的概述,请转到快速入门

有关更高级的主题,请参阅高级用法部分、异步支持部分或 HTTP/2 部分。

开发人员界面提供了全面的 API 参考。

若要了解与 HTTPX 集成的工具,请参阅第三方程序包

依赖

HTTPX项目依赖于这些优秀的库:

  • httpcore​- httpx的基础传输实现。
  • h11​- HTTP / 1.1支持。
  • certifi​- SSL证书。
  • rfc3986​- URL解析和规范化。
  • idna​- 国际化域名支持。
  • sniffio​- 异步库自动检测。

除了这些可选安装之外:

  • h2​- HTTP / 2支持。(可选,使用 ​httpx[http2]​)
  • socksio​- socks代理支持。(可选,带 ​httpx[socks]​)
  • rich​- 丰富的终端支持。(可选,使用​ httpx[cli]​)
  • click​- 命令行客户端支持。(可选,使用 ​httpx[cli]​)
  • brotli​或 ​brotlicffi​- 解码“​brotli​”压缩响应。(可选,使用 ​httpx[brotli]​)

这项工作的大部分遵循​requests​的API布局,以及​urllib3​围绕较低层次的网络细节提供的大量设计灵感,都是一笔巨大的功劳。

安装

用pip安装:

$ pip install httpx

或者,要包含可选的 HTTP/2 支持,请使用:

$ pip install httpx[http2]

要包括可选的 brotli 解码器支持,请使用:

$ pip install httpx[brotli]


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号