ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

python httpx的具体使用

python httpx的具体使用 httpx的具体使用更新时间是2023年04月06日, 具体的时间是16:03:28。这篇文章的作者昵称是爱吃熊掌的鱼。本小节核心讲解的, 是关于httpx这个工具的具体实操方法。文章里面通过那些非常详细的代码示例, 已经把相关知识点讲得很清楚了。这对各位读者后续搞学习, 或者在处理日常工作的时候, 是具备一定参考以及学习价值的。所以, 有需要的朋友们, 不妨就跟着小编的脚步一起深入研习起来, 共同提升这方面的技能。欢迎来到这个教程, 这个教程的名字, 就是Httpx教程。在这个教程里面, 我们会去深入的探讨那个叫做Httpx的库的事情, 然后同时还会学习到怎么利用它去构建一个高性能的网络应用程序, 而且这种网络应用程序的特点是它的运行方式是异步的。什么是 Httpx?Httpx是一种库, 这种库提供了一种现代化的、并且容易使用的HTTP客户端以及服务器方面的功能设施, 同时, Httpx还可以与异步框架协同开展工作, 并且支持HTTP和HTTP/2这两种协议, 此外, Httpx拥有着非常优秀的性能表现和安全特性, 还支持对于多种不同的通信协议、编码方式以及验证方案进行灵活多样的配置和处理操作。请执行安装Httpx的操作。安装Httpx这个库, 过程是非常简单的。你只需要去使用pip这个包管理工具, 然后运行下面给出的那个命令, 就完事了。pip install httpx您如果是使用的是3.7或者是比3.7版本还要早的那些版本, 那么就必须要进行 Httpx 的异步依赖项的安装。您可以根据以下的说明来对它进行安装, 方法是运行下面列出的命令。pip install httpx[aiohttp]发送 HTTP 请求通过Httpx来发送HTTP请求的操作, 事实上是非常简便的。下面所呈现的这个示例文本, 其具体内容是展示如何使用Httpx去构建并且发出一个GET类型的HTTP请求。import httpxresponse httpx.get(https://www.baidu.com)print(response.status_code)print(response.text)在这个示例中我们使用 Httpx 的 get 方法发送了一个 GET 请求。该请求的 URL 是 。该方法返回一个 对象我们可以使用该对象来访问响应状态码和响应文本。Httpx这个工具支持好多种不一样的HTTP方法, 这些方法里头包含了GET、POST、PUT、HEAD这些常见的类型。具体的操作办法是, 你可以直接运用Httpx里面所具备的那些专门用来发送请求的方法, 从而实现上述各种网络交互需求的达成。以下是一些例子。import httpxresponse httpx.post(https://www.baidu.com, data{key: value})response httpx.put(https://www.baidu.com, data{key: value})response httpx.delete(https://www.baidu.com)response httpx.head(https://www.baidu.com)response httpx.options(https://www.baidu.com)在上述示例当中, 每一个请求都能够采取运用 Httpx 所提供的相关方法的形式来予以实现发送的动作, 而在这些方法的大多数情况之下, 皆是支持对诸如数据、标头还有查询参数这类相关的多种参数进行传递和提交的。把那个异步的状态给发起出去, 向外部发送一个http请求。Httpx 这个软件还支持那种叫做异步 HTTP 请求的方式。以下所提到的这个简单的示例, 它主要是使用 Httpx 这个工具来发送一个名为异步的 GET 请求过程。import httpximport asyncioasync def get_request():async with httpx.AsyncClient() as client:response await client.get(https://www.baidu.com)print(response.status_code)print(response.text)asyncio.run(get_request())在这个示例里面, 我们是创建了一个叫做什么的这样一个异步函数, 这个函数它是会使用到 Httpx 里面的哪个类的, 目的就是为了去发送一个异步的 GET 请求。然后在这个异步函数的运行过程中, 我们会使用 async with 这样的语句, 目的是什么?是为了去创建一个由 Httpx 提供的异步客户端。大家需要知道的是, 咱们使用这样一种方式来创建客户端的话, 好处在于它可以确保在完成所有的请求操作以后, 会自动地把客户端给关闭掉了。然后, 我们使用了await这个关键字, 以便进行异步等待响应的操作, 接下来从那个响应对象里面去访问得到的那个响应状态码以及响应文本。和那种同步请求的方式一样, httpx 这个异步客户端也能够支持各式各样的 HTTP 方法。以下是一些例子。import httpximport asyncioasync def post_request():async with httpx.AsyncClient() as client:response await client.post(https://www.baidu.com, data{key: value})print(response.status_code)print(response.text)asyncio.run(post_request())设置请求标头在发出那类基于超文本传输协议的信号的时候, 大伙子大多都会碰到一个情形, 那便是需要去给请求标头进行一番设置的工作, 然后这个叫做 Httpx 的东西, 它是给了你一个法子, 让你能够去把一个什么参数传递给那个方法里面去的, 通过这个行为, 你就能把这个请求标头给弄好了。以下是一个示例import httpxheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3}response httpx.get(https://www.baidu.com, headersheaders)print(response.status_code)print(response.text)在这个示例里面, 咱们是用一个参数, 来设置了一个叫做 User-Agent 的请求标头的。设置请求参数Httpx这个工具是允许你在发送那些HTTP请求的时候, 把这些请求参数给设置好的。以下是一些例子。import httpxparams {key1: value1, key2: value2}response httpx.get(https://www.baidu.com, paramsparams)print(response.status_code)print(response.text)在这个示例里, 我们是通过参数这个方式, 去设置了两个查询参数的, 它们的名字分别是key1和key2。把请求体发送出去。在发送 POST、PUT 和 请求时您通常需要在请求体中包含数据。Httpx 允许您使用 data 参数设置请求体中的数据。以下是一个示例import httpxdata {key: value}response httpx.post(https://www.baidu.com, datadata)print(response.status_code)print(response.text)在这个具体的示例情况之下, 我们是借助了data这个特定的参数选项来执行一项操作, 而该操作所达成的具体效果是设置了一个请求体层面的参数, 并且对该参数而言, 它的名称被指定为key。将 JSON 数据发送出去。通过使用 json 参数, 您能够向服务器发送由 JSON 格式表示的数据, 这一步骤是 Httpx 所提供的功能之一。以下是一个示例import httpxdata {key: value}response httpx.post(https://www.baidu.com, jsondata)print(response.status_code)print(response.text)在这样一个具体的例子里面, 大家通过使用json格式的请求体参数设置, 来创建一个名为key的JSON请求体参数。设置超时当您在发起HTTP请求的时候, 您是通常都需要去把这个超时时间给设置好的。对于Httpx这个工具, 它是允许您去通过传入某个参数的这个方式来完成超时时间的设置的。以下是一个示例import httpxresponse httpx.get(https://www.baidu.com, timeout5)print(response.status_code)print(response.text)在咱们这里提到的这个例子里面, 我们是靠着那个参数, 把时间上限给设好了, 就是设定成了五秒钟的时间长度。错误处理Httpx 这个工具呢, 是可以抛出好几种不一样类型的异常的, 主要是为了能够帮助您这边去诊断清楚问题所在和解决问题, 那么这里就是有一些比较常见的这样的异常类型了。针对这些异常情况, 大家是可以采取运用 try 这个语句的办法来进行问题捕获并进而落实应对处置方案的。下面展示一个可供参考的具体实例内容。import httpxtry:response httpx.get(https://www.baidu.com)response.raise_for_status()except httpx.HTTPError as http_error:print(fHTTP error occurred: {http_error})except httpx.RequestError as request_error:print(fRequest error occurred: {request_error})except httpx.NetworkError as network_error:print(fNetwork error occurred: {network_error})except httpx.TimeoutException as timeout_error:print(fTimeout error occurred: {timeout_error})else:print(response.status_code)print(response.text)在这个示例当中, 我们通过使用那个try和除语句这个组合起来的方式, 把可能出现的各种异常都捕获了并且针对不一样的异常类型去采取了相应的处理措施。证书验证Httpx 这个功能可以让大家去检查 SSL 证书, 好来保证和服务器之间的连接是安全的。在默认的情况下, Httpx 是会去验证 SSL 证书的。要是你心里想着非得把那个证书验证给关掉的话, 那就得把一个参数设置成 False 才行。以下是一个示例import httpxresponse httpx.get(https://www.baidu.com, verifyFalse)print(response.status_code)print(response.text)在这个示例当中, 我们将参数设置为False。这么做是为了启用禁用SSL证书验证的操作。使用代理Httpx 这个工具能够让您通过使用代理的方式来把 HTTP 请求发出去。在下面这个地方, 有一个具体的例子可以参考一下:import httpxproxies {http://http-proxy-server:8080,https://https-proxy-server:8080}response httpx.get(https://www.baidu.com, proxiesproxies)print(response.status_code)print(response.text)在这个示范里面, 我们通过使用某个特定的手段给参数进行设置, 最终达成的结果是配置了两个代理服务器。上传文件Httpx允许使用者通过files参数来执行文件上传操作, 关于此功能的具体体现, 在下面这段代码片段中能够找到对应的案例。import httpxfiles {file: (file.txt, open(file.txt, rb))}response httpx.post(https://www.baidu.com, filesfiles)print(response.status_code)print(response.text)在这个示例里面, 我们是使用了files这个参数, 去进行了上传文件的操作, 上传的文件名字是file.txt。使用Httpx 这个东西是允许你用那个参数来发送东西的。下面这个例子就是具体的那种情况展示, 你可以看看。import httpxcookies {name: value}response httpx.get(https://www.baidu.com, cookiescookies)print(response.status_code)print(response.text)在这个示例里, 我们是使用参数这个动作或者方式来处理的, 然后具体来说是针对名为 name 的那个东西进行了发送操作。小结在本篇教程里, 我们对 httpx 这个库的基础内容以及它的具体使用方法做了介绍。大家了解了怎么用 httpx 来发送网页请求, 可以给请求设置标头信息、添加参数要求, 也能发出包含主体内容和 json 格式数据的消息。此外, 我们还设置了等待回复的时间长短规则来防止卡顿。当遇到异常状况时知道该怎么处理错误, 验证服务器的身份凭证靠不靠谱, 借助第三方代理访问网络, 往服务器上传大文件或者文档, 还有使用其他附加功能等等。现在的情况是, 您应当可以在您的应用程序之中, 借助于Httpx这种方式, 去比较轻松地执行发送HTTP这个动作, 同时也能够对那些个响应做出相应的处理。要知道的是, Httpx它是一种功能十分强劲的 HTTP 客户机库, 并且它具备非常简单且容易使用的 API, 再加上它还拥有许多非常高级的功能特色。真心地希望这个教程能够给您带来一些实实在在的好处, 使得您在未来的下一个项目运作期间, 可以去顺畅地使用 Httpx 来进行 HTTP 请求的发送工作。有关 httpx的具体使用方式的这份文章的内容就呈现到这里, 关于更多与httpx相关的内容, 请大家到脚本之家过往的文章中进行搜索, 或者接着翻阅下方推荐的其余相关文章, 期待大家日后能够多多给予脚本之家支持
返回列表