Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python HTTP状态代码200 vs 202_Python_Http_Python Requests_Http Status Codes - Fatal编程技术网

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})