两个库名字都叫 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
1
awanabe 2018-03-09 11:24:47 +08:00 1
不是
flask 下面有个 request.py 是用来处理 flask 中 request 中的数据分析 |
2
xpresslink 2018-03-09 11:55:46 +08:00 1
其实真是一个东西
A 是个客户端, import urllib.request 把这个 request 给 web 服务器 B 发送过来 在 B 服务器上 from flask import request 之后, 这个 request 的内容就是 A 发过来的 request 内容了。 明白了么? 在客户端是 sent request 在服务端是 received request |
3
woshilibai 2018-03-09 12:15:21 +08:00 via Android
哈哈哈哈哈哈
|
4
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 ··· |
5
lolizeppelin 2018-03-09 18:00:32 +08:00 via Android
help 一下就知道了
|