在python中下载文件的前N个字节
我在某处有一个大文件(FTP/HTTP) 我想在python中下载文件的前N个字节,python,http,ftp,download,Python,Http,Ftp,Download,我在某处有一个大文件(FTP/HTTP) 我想 首先下载N字节 检查嵌入到文件中的头文件(版本是否不同) 然后决定是继续下载还是中止下载 这绝对不是我想象的那么简单的任务(令我惊讶)。即使从外部调用wget/curl似乎也不是一个好的解决方案(可能我忽略了正确的命令行选项) 如何在Python中尽可能简单地实现这一点 我正在考虑一个用于ftp.retrbinary的自定义处理程序,它将在块的总和超过定义的值时立即引发异常,但在我看来,这太过分了。Python代码应该是优雅的,对吗?如果只想检查标
N
字节wget
/curl
似乎也不是一个好的解决方案(可能我忽略了正确的命令行选项)
如何在Python中尽可能简单地实现这一点
我正在考虑一个用于
ftp.retrbinary
的自定义处理程序,它将在块的总和超过定义的值时立即引发异常,但在我看来,这太过分了。Python代码应该是优雅的,对吗?如果只想检查标题,请发送,而不是GET。
它将返回与GET相同的头,没有消息正文
HEAD方法与GET相同,只是服务器不能
在响应中返回消息正文。包含的元信息
在HTTP中,响应头请求的头应该相同
响应GET请求而发送的信息
可以发送一个详细的头部
编辑:
如果您确实需要前N个字节,可以与
范围:bytes=0-N
一起使用,您只需要标题吗?看一看,;它可以让您流式处理请求,您可以只获取头,然后关闭连接(如果需要)。如果你想的话,也可以读取响应正文的前N个字节。Dikei的可能副本:我已经看到了答案,但它不包括FTP,我也需要这个。听起来Miro更感兴趣的是文件中嵌入的头,而不是HTTP头。@MiroKropacek在这种情况下,你可以使用范围
头,与GET结合使用。