有人知道如何使用CURL来“伪造”下载吗?

问题描述 投票:0回答:1

[希望您能很快,我有一个任务,是在做一些整理工作时,查看URL在我们的TFS服务器上是否仍然有效。

[当前,我有一个需要检查的URL列表,我正在使用CURL。问题是我要检查1000个URL,并且每个人都自动下载文件。

是否可以“伪造”下载内容?我的意思是说,有没有一种方法可以确认URL是否有效而无需实际下载文件,因为有1000个URL,如果我要这样做,则将花费大量时间以及占用HDD空间。全部下载吗?

预先感谢:)


更新

TFS是Team Foundation Server,

所以这是我当前的测试代码;

curl -k -u $userPass $url --output test.zip

此代码^^^成功下载了我所需要的文件,但是一旦我添加“ -v”以获取标头,它就会破坏下载并给我405响应代码。

linux bash curl
1个回答
4
投票

发出HTTP HEAD请求,仅下载标头,因此您可以检查其是否返回“ HTTP 404 Not Found”或其他内容,可以使用-I参数使用curl进行操作,但是对于大型列表,则不应该这样做使用cli程序curl时,应该使用libcurl curl_multi API,该API可以使用异步连接同时检查数百个甚至数千个url,这将比从cli程序执行的任何操作都要快得多。此代码使用curl_multi API使用PHP检查大型URL列表:https://stackoverflow.com/a/54353191/1067003

将代码放在.php脚本中并从php-cli运行它比从cli程序curl获得的任何东西都要快得多。

并且如果那仍然太慢,您可以使用curl_multi C API在C / C ++中重写它,其运行速度甚至比上述PHP实现还要快〜(PHP使用的CPU比C实现要多得多。使用解释语言的缺点之一。仍然,您的瓶颈可能是带宽,而不是CPU)

© www.soinside.com 2019 - 2024. All rights reserved.