不确定这是否可行,但我想在不下载的情况下判断一个大文件的HTTP请求的状态码;我只是想看看服务器上是否有.

用Python的requests能做到这一点吗?我已经知道如何判断状态码,但我只能在文件下载后才能判断.

我想我想问的是,你能发出一个GET请求并在收到响应头后立即停止它吗?

推荐答案

使用requests.head().这只返回请求的标题,而不是所有内容——换句话说,它不会返回消息的正文,但您可以从标题获取所有信息.

HEAD方法与GET相同,只是服务器不能

例如:

import requests
url = 'http://lmsotfy.com/so.png'
r = requests.head(url)
r.headers

输出:

{'Content-Type': 'image/png', 'Content-Length': '6347', 'ETag': '"18cb-4f7c2f94011da"', 'Accept-Ranges': 'bytes', 'Date': 'Mon, 09 Jan 2017 11:23:53 GMT', 'Last-Modified': 'Thu, 24 Apr 2014 05:18:04 GMT', 'Server': 'Apache', 'Keep-Alive': 'timeout=2, max=100', 'Connection': 'Keep-Alive'}

此代码不下载图片,但返回图片消息的标题,其中包含大小、类型和日期.如果图片不存在,则不会有此类信息.

Python-3.x相关问答推荐

"安装serial vs安装psyserial header,"""

一种基于绝对排序值的极框索引和列定位的Python方法

Python gpsd客户端

Python避免捕获特定异常

切片时是否在NumPy ND数组中创建新对象?

我正在try 从 10*3 矩阵中删除随机值并将其变为 10*2 矩阵

将列表转换为 pandas 数据框,其中列表包含字典

Python webdrivermanager 和 Chrome 115.0 的 URL https://chromedriver.storage.googleapis.com/LATEST_RELEASE_115.0.5790 错误没有此类驱动程序

如何使用Selenium从网站下拉菜单中获取值列表?

在Python中基于组/ID将两个数据帧进行映射,找出较接近的值

我正在使用 python 线程,当查询 mysql 时,代码似乎在运行并保持在无限循环中,没有返回任何错误

使用 Python 在特定组的列中设置上限

总结基于条件的值,如果不匹配则保留当前值

使用 python-binance 时,heroku [regex._regex_core.error: bad escape \d at position 7] 出错

日志(log)模块不适用于 Python3

try 注释散列变量时,ABCMeta对象不可下标

为什么`multiprocessing.Queue.get`这么慢?

python 3的蓝牙库

TypeError:多个基地有实例布局冲突

如何在 Pandas 中的超 Big Data 框上创建数据透视表