我正在尝试找到一种方法来实时查看人们下载文件,以确保从该人那里下载成功。我似乎无法正确使用搜索字符串来找到我需要的内容。任何帮助都非常感谢!
我确实创建了一些 bash 脚本来实时监控我的 HTTP 登录、邮件、SSH 和其他一些东西以及端口连接和负载。
答案1
将 %X 添加到您的日志配置中。
X = connection aborted before the response completed.
+ = connection may be kept alive after the response is sent.
- = connection will be closed after the response is sent.
另请查看此模块http://httpd.apache.org/docs/2.2/mod/mod_logio.html
此模块提供每个请求接收/发送的输入和输出字节数的记录。这些数字反映了网络上实际接收的字节数,然后考虑了请求和响应的标头和正文。计数是在输入 SSL/TLS 之前和输出 SSL/TLS 之后进行的,因此这些数字将正确反映加密所做的任何更改。
答案2
在服务器上检查某人是否成功下载了文件将会非常困难。
我想如果这可行,你可能需要对下载进行编程,使其能够传输数据并在整个过程中进行检查。这最终似乎很困难,因为获取下载文件的访问权限(以验证它)可能会很麻烦并引发安全问题。
让用户进行 md5 校验会更简单。用户下载文件后,可以在终端中执行以下操作:
user$ md5 test-file.txt
MD5 (test-file.txt) = d8e8fca2dc0f896fd7cb4cb0031ba249
这是常见的做法,您可以在您的网站上列出 md5,以便用户可以手动验证下载。
根据您想要实现的目标,您可能能够在服务器上开发一些东西来对客户端下载的文件执行 md5 运算。