在不下载的情况下检查文件是否存在于工件中

Check if file exists in artifactory without downloading

我需要检查文件是否存在。到目前为止,我的方法是通过 Artifactory REST API

url = https://artifactory.io/path_to_file/file.jar
headers = {'X-JFrog-Art-Api': 'api_key'}
response = requests.get(url, headers=headers)
assert(200 == response.status_code)
assert(response.text != "")

但是有一个文件太大,需要很长时间才能得到响应。

还有其他方法可以检查此文件是否存在吗?

您可以检查获取文件信息时返回的状态代码,而不是文件本身。

查看此 REST 的 documentation API。

例如:

url = <a href="https://artifactory.io" rel="noreferrer">https://artifactory.io</a><b>/api/storage</b>/path_to_file/file.jar

headers = {'X-JFrog-Art-Api': 'api_key'}
response = requests.get(url, headers=headers)
assert(200 == response.status_code)
assert(response.text != "")

您可以使用 Search APIs or (and that is what I recommend) use the JFrog CLI search 命令之一

正如 Roland 评论的那样,我刚刚打电话 requests.head 就足够了