用于创建到httpweb服务的python绑定的工具。

http2p的Python项目详细描述


the_one_where_we_have_an_http_service_that_we_want_call_through_normal_looking_python_functions

(Http)对人类的请求

创建到httpweb服务的python绑定的工具。 如python开发的web服务或web服务请求web数据。在

故事如下:你在网上找到了一些你想与之互动的东西。在

  • 这可能是你想要访问的数据
  • 或者一些你想做的事情——比如搜索、发布文章、购买比特币等等。。在
  • 如果你真幸运,已经有人编写了python层来做你想做的事情。在
  • 如果幸运的话,这个资源附带了一个清晰的接口定义 很容易为您编写自己的python。在
  • 如果你运气不好,你就得破译一些API的坏文档, 或者编写你自己的机器人程序,爬虫程序和解析器来获得你想要的。在

我们想让你更轻松些。在

我们现在要关注的是为http请求建立python层的基本共同点。在

“但是。。。优秀的^{} library 已经为http提供了python包装!”你说。是的,我们为此感谢requests开发人员。 这确实是一个很好的包,我们现在不用写了!在

我们想从那里开始,覆盖更多烦人的样板,让你更接近,更快, 对于您实际需要的功能: 函数与代码中使用的python类型相关, 它使用可以直接在代码中使用的python对象进行响应。在

requests的发展 (包括recommended add-ons) 可以说是面向金属(原始的http机制)并在头脑中构建与人类的接口。 相比之下,我们想要面对人类,建造适配器来与金属进行通信。 也就是说,在我们的例子中,http是隐藏在幕后的事实甚至不应该是可见的(除非它需要)。在

为了纪念“为人类设计”的灵感,我们扩展了请求的标签行, “对人类的要求”。在

方法

一如既往,我们喜欢表达性、样板最小化、关注点分离和分层方法 渐进式的转变和增强,让我们从现在的状态到我们想要的位置。在

所以对于py2request,我们在哪里,我们想去哪里?在

What we have:我们有一些http可访问的资源。例如,一个结构完美的API REST web服务、非常混乱的网站或介于两者之间的任何规范。在

What we'd like:这些web内容的Python接口。 也就是说,我们希望与资源对话python,并让它向我们反馈python。 此外,我们希望这次谈话能切中要害;我们不想说得太多, 我们不希望得到的回答只包含我们想要的东西和我们想要的方式。 最后,我们希望用最小的努力来实现这个目标——让我们自己做出默认的选择,但是能够 我们自己的选择如果我们愿意的话。在

这要求太高了吗?在

在分层方法中,我们将从函数规范转到返回python的函数 请求对象,然后我们可以进一步包装这些对象来创建实际执行请求的函数, 返回一个响应对象,并进一步包装以获得最终的python输出类型。在

所以这个管道中的对象是:

  • 规范
  • 请求
  • 回应
  • 最终python对象

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

推荐PyPI第三方库


热门话题
java使用(BluetoothGattCharacteristic)特性中的数据创建、写入和保存csv文件。getValue()   java如何使用groupBy创建一个值为BigDecimal字段平均值的映射?   日期时间Java将iso_即时格式的字符串转换为日期   java如何检索和显示Android firebase的配置文件?   scala AWSJAVASDK:解压缩大小必须小于262144000字节   要应用于列表的java JSTL if条件   java在3个点之间画一个正方形   Kotlin java抽象类IllegaAccessError   java原语双值相等取决于大小?   java有没有一种方法可以对数据集使用compareTo()方法,而不必遍历数据集的每个元素?   java为什么我发送的每个UDP消息都会改变端口源?   重新选择文件时swing Java JTree冻结   java不知道我的游戏是怎么回事   Motif L&F中自定义组合框渲染器中的Java Swing消失文本   java Trade Me API访问前的OAuth