在python中处理一个侧面项目,它既启动http请求又有一个小型Web服务器。它让我思考 - 似乎每个python微框架都有自己的模型来访问http请求的属性(例如,您可以用来获取查询字符串参数,标题等的底层请求对象以及用于设置的底层响应对象状态代码,响应标头等)。它们都允许您访问相同的数据,并且他们已经重新发明了轮子。
是否有任何微框架使用来自热门requests库的Request
和Response
对象而不是自己的实现?似乎请求库正在成为在python中执行http请求的规范方式,因此这将使框架特别小。在制作基本上将其他服务粘合在一起的应用程序时也会很酷,因为转发/包装请求将是微不足道的。您只需更改传入请求的.url
属性,然后调用.prepare()
转发请求(是的,对于简单转发,在Web服务器级别执行此操作更有意义,但您明白了这一点。)< / p>
或者,如果没有任何框架特别执行此操作,是否有任何类似的好处,即传入的http请求对象也可以作为http客户端使用?
编辑:想要指出这就是http请求对象在Go中的工作方式,这部分启发了我的问题。来自net/http库&#34;请求表示服务器接收或由客户端发送的HTTP请求。&#34;
答案 0 :(得分:3)
Flask基于Werkzeug。 Werkzeug本身正在使用Request,它本身正在使用BaseRequest。但这不是Requests库。
请注意was a plan使用Requests和Werkzeug创建httpcore library,但似乎已经停止了。这说两个项目都在踢。
有些人使用请求
在他们的应用中使用modified Flask