iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pytho的HTTP交互httpx包模块使用详解
  • 275
分享到

Pytho的HTTP交互httpx包模块使用详解

2024-04-02 19:04:59 275人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录Http 响应自定义客户端尝试 httpxpython 的 httpx 包是一个复杂的 WEB 客户端。当你安装它后,你就可以用它来从网站上获取数据。像往常一

python 的 httpx 包是一个复杂的 WEB 客户端。当你安装它后,你就可以用它来从网站上获取数据。像往常一样,安装它的最简单方法是使用 pip 工具

$ Python -m pip install httpx --user

要使用它,把它导入到 Python 脚本中,然后使用 .get 函数从一个 web 地址获取数据:

import httpx
result = httpx.get("https://httpbin.org/get?hello=world")
result.JSON()["args"]

下面是这个简单脚本的输出:

{'hello': 'world'}

HTTP 响应

默认情况下,httpx 不会在非 200 状态下引发错误。

试试这个代码:

result = httpx.get("https://httpbin.org/status/404")
result

结果是:

<Response [404 NOT FOUND]>

可以明确地返回一个响应。添加这个异常处理:

try:
    result.raise_for_status()
except Exception as exc:
    print("woops", exc)

下面是结果:

woops Client error '404 NOT FOUND' for url 'https://httpbin.org/status/404'

For more infORMation check: https://httpstatuses.com/404

自定义客户端

除了最简单的脚本之外,使用一个自定义的客户端是有意义的。除了不错的性能改进,比如连接池,这也是一个配置客户端的好地方。

例如, 你可以设置一个自定义的基本 URL:

client = httpx.Client(base_url="https://httpbin.org")
result = client.get("/get?source=custom-client")
result.json()["args"]

输出示例:

{'source': 'custom-client'}

这对用客户端与一个特定的服务器对话的典型场景很有用。例如,使用 base_url 和 auth,你可以为认证的客户端建立一个漂亮的抽象:

client = httpx.Client(
    base_url="https://httpbin.org",
    auth=("Good_person", "secret_passWord"),
)
result = client.get("/basic-auth/good_person/secret_password")
result.json()

输出:

{'authenticated': True, 'user': 'good_person'}

你可以用它来做一件更棒的事情,就是在顶层的 “主” 函数中构建客户端,然后把它传递给其他函数。这可以让其他函数使用客户端,并让它们与连接到本地 WSGI 应用的客户端进行单元测试

def get_user_name(client):
    result = client.get("/basic-auth/good_person/secret_password")
    return result.json()["user"]
get_user_name(client)
    'good_person'
def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'application/json')])
    return [b'{"user": "pretty_good_person"}']
fake_client = httpx.Client(app=application, base_url="https://fake-server")
get_user_name(fake_client)

输出:

'pretty_good_person'

尝试 httpx

请访问 python-httpx.org 了解更多信息、文档和教程。我发现它是一个与 HTTP 交互的优秀而灵活的模块。试一试,看看它能为你做什么。

via: https://opensource.com/article/22/3/python-httpx

以上就是Pytho的HTTP交互模块httpx包使用详解的详细内容,更多关于Pytho HTTP交互模块httpx包的资料请关注编程网其它相关文章!

--结束END--

本文标题: Pytho的HTTP交互httpx包模块使用详解

本文链接: https://www.lsjlt.com/news/143495.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pytho的HTTP交互httpx包模块使用详解
    目录HTTP 响应自定义客户端尝试 httpxPython 的 httpx 包是一个复杂的 Web 客户端。当你安装它后,你就可以用它来从网站上获取数据。像往常一...
    99+
    2024-04-02
  • Pytho的HTTP交互httpx包模块怎么使用
    本篇内容介绍了“Pytho的HTTP交互httpx包模块怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Python 的 h...
    99+
    2023-06-29
  • Node.js基础入门之path模块,url模块,http模块使用详解
    目录path模块1. path模块示例2. path模块其他方法url模块1. 旧的解析方法2. 新的解析方法http模块1. 什么是HTTP协议?2. HTTP协议约束的细节3. ...
    99+
    2024-04-02
  • nodejs中的http模块与npm模块使用
    目录http模块创建服务器基本步骤request对象详解response对象详解实现静态WEB服务器服务器响应首页根据根据不同url,响应不同文件静态资源的通用处理npm - Nod...
    99+
    2022-11-13
    nodejs中http模块 nodejs中npm模块 http模块与npm模块使用
  • python怎么使用redis模块来跟redis实现交互
    本篇内容主要讲解“python怎么使用redis模块来跟redis实现交互”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python怎么使用redis模块来跟redis实现交互”吧!redis模...
    99+
    2023-07-02
  • SpringMVC教程之json交互使用详解
    json数据交互1.1 @RequestBody作用:@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json、xml等格式的数据并...
    99+
    2023-05-31
    spring mvc json
  • python中os模块和sys模块的使用详解
    目录一、os模块二、os模块中的os.walk()函数三、sys模块一、os模块 os.getcwd() 获取当前的工作目录 os.chdir(‘绝对路径/相对于当前工作...
    99+
    2023-03-21
    python os模块 python sys模块
  • python urllib.request模块的使用详解
    目录urllib子模块 request模块 function request.urlopen() class request.Request python的urllib模块提供了一系...
    99+
    2024-04-02
  • Python3 pickle模块的使用详解
    pickle模块是Python标准库中的一个模块,用于序列化和反序列化Python对象。它可以将对象转换为字节流,然后可以将字节流保...
    99+
    2023-10-11
    python
  • Node.js中的http模块怎么使用
    本篇内容介绍了“Node.js中的http模块怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、什...
    99+
    2024-04-02
  • 如何使用Go语言打包和加载HTTP模块?
    Go语言是一种简单、高效的编程语言,它被广泛应用于各种领域,特别是在Web开发中。HTTP模块是开发Web应用程序中必不可少的一部分,Go语言提供了许多方便的工具来打包和加载HTTP模块。在本文中,我们将介绍如何使用Go语言打包和加载HTT...
    99+
    2023-10-18
    http 打包 load
  • Nodejs中的http模块怎么使用
    这篇文章主要介绍了Nodejs中的http模块怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Nodejs中的http模块怎么使用文章都会有所收获,下面我们一起来看看吧。一、http 模块http 模块是...
    99+
    2023-07-04
  • Pythondecimal模块的使用示例详解
    目录Python decimal 模块getcontext函数setcontext函数localcontext函数Python decimal 模块 Python中的浮点数默认精度是...
    99+
    2023-03-11
    Python decimal使用 Python decimal
  • Python中shutil模块的使用详解
    简介:shutil 模块提供了一系列对文件和文件集合的高阶操作。特别是提供了一些支持文件拷贝和删除的函数,该模块主要强大之处在于其对文件的复制与删除操作更是比较支持好。 主要方法: ...
    99+
    2024-04-02
  • python 包(模块 函数 类 定义 导入)使用详解
    目录python 包的模块 函数 类 定义 导入使用详细说明python 包的模块 函数 类 定义 导入使用详细说明 下面是一个使用 Python 包的详细案例,它涉及到模块、函数...
    99+
    2023-03-24
    python 包使用 python 包
  • 详解Python中httptools模块的使用
    如果你用过 FastAPI 的话,那么你一定知道 uvicorn,它是一个基于 uvloop 和 httptools 实现的高性能 ASGI 服务器。 其中 uvloop 采用 Cy...
    99+
    2023-03-03
    Python httptools模块使用 Python httptools模块 Python httptools
  • nodejs的http模块方法怎么使用
    这篇文章主要讲解了“nodejs的http模块方法怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nodejs的http模块方法怎么使用”吧! ...
    99+
    2024-04-02
  • Python入门之模块和包用法详解
    目录模块1. 导入模块的方式2. 导入方式详解3. 制作模块4. 模块定位顺序5. __all__包1. 制作包2. 导入包总结模块 Python 模块(Module),是一个 Py...
    99+
    2024-04-02
  • Vue CLI项目如何使用axios模块进行前后端交互
    这篇文章将为大家详细讲解有关Vue CLI项目如何使用axios模块进行前后端交互,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Vue-CLI项目-axios前后端交互一...
    99+
    2024-04-02
  • PythonBeautifulSoup模块使用教程详解
    目录一、模块简介二、方法利用1、引入模块2、几个简单的浏览结构化数据的方法三、具体利用1、获取拥有指定属性的标签2、获取标签的属性值3、获取标签中的内容4、stripped_stri...
    99+
    2023-02-24
    Python Beautiful Soup Python Beautiful Soup模块
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作