当前位置: 首页 > 网络应用技术

Python HTTP请求浅分析

时间:2023-03-07 00:46:45 网络应用技术

  我相信,当许多人使用Python提出接口请求(HTTP客户端请求)时,许多人必须使用这些请求:Urllib,Urllib3,请求。

  没错,我经常使用它,这里出现的最美丽的幼崽是请求。毕竟,普通的接口请求通常是爬网机使用的,并且封装后更容易使用。

  因此,在本文中,这是我对三个王国的分析之一。

  本文主要分析这三个国家:

  没有其他第三方库的帮助,请求只能发送同步请求。

  请求是Python第三张库。处理URL资源特别方便,与Urllib3相比,它具有更多的功能,并且使用这些步骤很容易。

  让我们深入介绍请求API源代码:从图片中,实际上,您可能可以查看对请求的支持。Time,请求接口验证,文件上传和其他功能。

  日常生活中通常使用的处方应为以下格式

  如果您只是询问接口并获取接口数据,则以上是足够的,不需要其他操作。

  但是有时在爬网的场景中使用了请求,并且某些爬行动物需要继续登录以爬网。为了成功登录,要询问其他接口,您可能需要由先前生成的cookie或token生成。目前,需要保存此信息。

  对于这种情况,您可以使用请求。Sessession,可以自动处理cookie并将其保持状态。

  一般使用步骤应该是这样:

  通过上面的大约步骤,足以保持信息状态。目前,使用这些维护信息来爬接界面并不是问题(根据原因,您可以模拟经典案例的TAOBAO PC末端,本文将不会详细介绍。)

  没有其他第三方库的帮助,AIOHTTP只能发送异步请求。

  实际上,人们很贪婪。在同步请求足以满足需求之后,人们将从其他方面(例如相同的界面)改进,希望更快地处理它,减少时间并不想阻止。

  然后,有了这种需求,也会出现异步请求。在场时,支持异步请求的方式由异步/等待+asyncio+请求组成。您也可以使用AIOHTTP。

  AIOHTTP是异步的异步库,具有异步的HTTP客户端和服务器编程的python。

  AIOHTTP还可以设置诸如请求,请求头,cookie,代理,上传文件和其他功能之类的功能

  可能使用代码表明这应该是常见的

  当然,异步请求可能是接口返回数据在其他地方没有太强的依赖关系。异步的作用更多是提高效率和节省同步等待时间。

  不依赖其他第三方库,HTTPX可以发送同步请求,但也会发送异步请求

  HTTPX是Python中的新一代网络请求库。它包含以下特征

  1.基于python3的HTTP请求模块与Python3

  2.可以发送同步请求以及异步请求

  3.支持HTTP/1.1和HTTP/2

  4.可以将请求直接发送到WSGI应用程序或ASGI应用程序

  安装HTTPX需要Python3.6+(使用异步请求需要Python3.8+)

  HTTPX是Python的新一代网络请求库。这些功能和请求基本上是相同的,但是请求只能在第三部分库的支持下发送同步请求,而且HTTPX不仅可以发送同步请求,还可以发送异步。这比请求比请求更好。

  因为它类似于请求,因此请求可以支持设置,因此HTTPX也可以支持

  基本使用方式:

  异步操作,使用异步/等待声明进行异步操作

  与使用多线程发送请求相比,异步客户端的使用更有效,这可以更好地反映明显的性能优势

  查看它,同步请求使用httpx.client(),异步请求使用httpx.asyncclient(),然后一些其他一些基本用法方法通常相似。

  可以说,如果您精通请求,则可以开始理解AIOHTTP和HTTPX。

  在此之后,我应该谈论的内容已经完成,我希望这些事情能给人们一点。当然,这篇文章并不完美。那些失踪和错误的人可以提出,我可以进一步学习。

  最后,如果可以的话,就像它支持波浪。

  原始:https://juejin.cn/post/710638788670999885