from urllib import request 和 from flask import request, 两个 request 库是同一个吗?

2018-03-09 11:20:41 +08:00
 miniyao

两个库名字都叫 request,在 flask 里有这样一行:

request = LocalProxy(partial(_lookup_req_object, 'request'))

两个 request 库是相同的功能吗?

要是功能有不同,要用 urllib 的 request 就要用别名,或者全路径了吗:

import urllib.request
from urllib import request as request-a
from flask import request
2333 次点击
所在节点    Python
5 条回复
awanabe
2018-03-09 11:24:47 +08:00
不是
flask 下面有个 request.py 是用来处理 flask 中 request 中的数据分析
xpresslink
2018-03-09 11:55:46 +08:00
其实真是一个东西
A 是个客户端,
import urllib.request
把这个 request 给 web 服务器 B 发送过来

在 B 服务器上
from flask import request
之后, 这个 request 的内容就是 A 发过来的 request 内容了。

明白了么?
在客户端是 sent request
在服务端是 received request
woshilibai
2018-03-09 12:15:21 +08:00
哈哈哈哈哈哈
yangzhezjgs
2018-03-09 13:29:31 +08:00
简单说 from flask import request 是 WSGI 里 environ 的封装
再说细一点,from flask import request 里的 requests 是 flask/ctx.py 里 RequestContext 的 request,这个 requests 有是基于 werkzeug.wrappers 的 Request,下面是他的__init__函数,可以看到输入的就是 environ
···
def __init__(self, environ, populate_request=True, shallow=False):
self.environ = environ
if populate_request and not shallow:
self.environ['werkzeug.request'] = self
self.shallow = shallow
···
lolizeppelin
2018-03-09 18:00:32 +08:00
help 一下就知道了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/436455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX