Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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
Php 应该使用哪些HTTP状态代码来通知下载管理器?_Php_Http_Http Status Codes_Download Manager - Fatal编程技术网

Php 应该使用哪些HTTP状态代码来通知下载管理器?

Php 应该使用哪些HTTP状态代码来通知下载管理器?,php,http,http-status-codes,download-manager,Php,Http,Http Status Codes,Download Manager,我写了一个小PHP脚本,它限制了下载文件的速度,并支持下载恢复功能 但是,使用下载管理器可以覆盖速度限制,例如创建10个下载节,从而同时下载文件的10个其他部分,并通过此方法达到10倍的速度 我想知道,我如何才能发现,指定的用户已经在运行下载,我需要发送哪些HTTP状态代码,以使下载管理员知道,他们不允许同时下载文件的其他部分,但允许下载恢复功能 编辑:也许不够精确。。。 实际上,我需要最好的HTTP状态代码来让DownloadManager知道,同一个文件的多个文件流(或节)是不允许的,但只能

我写了一个小PHP脚本,它限制了下载文件的速度,并支持下载恢复功能

但是,使用下载管理器可以覆盖速度限制,例如创建10个下载节,从而同时下载文件的10个其他部分,并通过此方法达到10倍的速度

我想知道,我如何才能发现,指定的用户已经在运行下载,我需要发送哪些HTTP状态代码,以使下载管理员知道,他们不允许同时下载文件的其他部分,但允许下载恢复功能

编辑:也许不够精确。。。
实际上,我需要最好的HTTP状态代码来让DownloadManager知道,同一个文件的多个文件流(或节)是不允许的,但只能有一个。

您可以将下载限制为每个IP只有一个连接,然后发送
429个太多的请求
HTTP代码(或仅
403禁止
)到后续请求。

如果您不想允许并行下载,一旦您确定了检测,您将发送403/禁止用于额外下载会话。或者您使用一次性令牌保护文件,这立即消除了多次下载问题。好的,因此我尝试了HTTP状态代码和Freedownloadmanager,如果代码429为“未知网络错误”,如果代码403为用户名或密码无效,则写入日志。还有其他可能的选择吗?或者这只是Downloadmanager本身的一个失败实现?@salim_aliya,是的,这确实是FDM的一个问题。429不是一个“未知错误”,403表示“服务器理解请求,但拒绝执行。授权没有帮助。”()。我认为他们混淆了403和401(提供有效的用户名和密码确实有效)。