pycopy的urequests模块

pycopy-urequests的Python项目详细描述


pycopy lib目前提供4个http客户端模块:

  • urllib.urequest
  • urequests
  • uurequests
  • uaiohttpclient

本自述旨在描述它们之间的差异并帮助 为特定用途选择正确的模块。

  • urllib.urequest实现了api cpython标准库的一个子集 模块urllib.request。本模块旨在将 提供一个高效的、基于流的api。不是的 支持自动重定向或分块传输编码。
  • urequests实现流行的第三方包的api子集 requestsrequests自诩为“人类的http”,它 这意味着它的api不理想,实现效率低下。 urequests只实现了它的一个子集,并试图修复一些 原型模块的不良默认值。不过,效率还是不高 超过urllib.urequest。已处理重定向,但未分块 传输编码。
  • uurequestsurequests之前的0.8版本的捕获 打开门为后者添加更多功能。提供了 对于非常小的系统,仍然需要像api这样的请求。
  • uaiohttpclientuasyncio模块的http客户端。是的 三种方法中唯一支持分块传输编码的方法。

因此,选择指南:

  • 尽可能使用urllib.urequest
  • 如果你只写一次,扔掉你不在乎的应用 效率,您可以使用urequests
  • 如果你写的是非常小的系统或者上面的不起作用,可以 试试uurequests
  • 如果开发异步应用程序,请使用uaiohttpclient
  • 如果需要对更多http协议功能的支持,请使用 uaiohttpclient并编写异步应用程序。

模块的未来:

  • urllib.urequest旨在保持最小值,不太可能获得更多 特性(适用于大约80%的可能使用场景)。
  • urequests的dna有膨胀,所以很可能会慢慢长出更多的特征 与上游模块匹配,这将使其更不适合 低内存目标。
  • uurequests已快照以解决此类内存不足系统的问题 支持。它是静态的,只打算应用关键的错误修复。
  • uaiohttpclient可能会根据需要更新。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javafx在java中显示图像或形状的二维网格   java如何部署WAR文件而不是根文件。AWS Elastic Beanstalk中配置了Amazon AMI的war?   java如何在Eclipse中设置runnable jar的目标版本   Java 8流/收集器按地图分组   java ParseServer:不保存用户信息?   MySQL:java。sql。BatchUpdateException:键“PRIMARY”的重复条目“242243”   java Jersey测试框架为grizzly中的所有未知路径定义默认错误响应   java使用所有请求参数将请求从一个jsp转发到另一个jsp?   java为什么在JavaFX8中选择CheckboxTableCell时SelectedStateCallback不起作用?   期待EOF的java发现“异常”   java如何使用SeleniumWebDriver捕获弹出窗口的屏幕?   java无法从安卓手机向我的数据库发送截击post请求   java Selenium单击切换元素   java使用Spring api向服务器发送数据   继承和创建新类之间的java差异   数组io。内蒂。ByteBuf writeBytes(java.nio.ByteBuffer src)顶点化   java相对于多次选择和一次更新,删除和插入的代价有多高?   java单向一对多,父级具有复合密钥   Java Spring批处理多线程作业失败,原因是“致命:由于idleintransaction超时而终止连接”