Python HTTP状态代码200 vs 202
我有一个Python HTTP状态代码200 vs 202,python,http,python-requests,http-status-codes,Python,Http,Python Requests,Http Status Codes,我有一个Python+requests脚本 脚本应执行的步骤: 向数据库发送文件 批准此文件(更改数据库中的文件状态) 下载文件 约束条件: 只能下载已批准的文件 我的代码: 问题是: 这段代码几乎完美地工作,但有时我没有得到任何文件。我发现第一个和第三个请求返回200状态码,而第二个请求返回202。据我所知(如果我错了,请告诉我)状态202:Accepted表示服务器接受请求并返回状态代码,而不实际完成请求 问题是: 这是否意味着即使批准请求尚未完成,也可以发送下载请求?如果是这样,我如何
Python
+requests
脚本
脚本应执行的步骤:
- 向数据库发送文件李>
- 批准此文件(更改数据库中的文件状态)李>
- 下载文件
200
状态码,而第二个请求返回202
。据我所知(如果我错了,请告诉我)状态202:Accepted
表示服务器接受请求并返回状态代码,而不实际完成请求
问题是:
这是否意味着即使批准请求尚未完成,也可以发送下载请求?如果是这样,我如何等到批准请求完成后再发送下载请求?这取决于您的服务器实现,并且您的服务器决定如何处理
202
202接受
请求已被接受以进行处理,但处理已完成
尚未完成。请求可能最终会被执行,也可能不会被执行
在上,因为在实际进行处理时可能不允许这样做。
没有从异步服务器重新发送状态代码的功能
像这样的操作
202号答复故意不作承诺。其目的是
允许服务器接受其他进程的请求(可能是
面向批处理的流程,每天只运行一次),没有
要求用户代理与服务器的连接持续到
这个过程已经完成。实体随此响应返回
应包括请求的当前状态和
一个指向状态监视器的指针,或者一个用户何时运行的估计值
我们可以期待请求得到满足
若响应体为空,那个么检查应该包含附加信息的响应头是有意义的
参考-这是不可能的。Response.content属性将被阻止,直到下载了整个响应。
requests.post(url_to_create, files={"file": open(path_to_file)})
requests.post(url_to_approve, data={'id': file_id})
requests.get(url_to_download, data={'id': file_id})