**已关闭。**此问题为not about programming or software development。目前不接受回答。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
5个月前关闭。
Improve this question的
我想知道是什么让curl和wget在查询docker hub下载率时的行为不同。
Dockre docs说我们可以使用下面的curl命令来获取docker hub remain rate。
docker_hub_rate() {
local IMAGE=${1:-ratelimitpreview/test}
local RESPONSE=$(wget -qO- "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${IMAGE}:pull")
local TOKEN=$(echo ${RESPONSE} | sed 's/.*"token":"\([^"]*\).*/\1/')
local HEADER="Authorization: Bearer ${TOKEN}"
local URL="https://registry-1.docker.io/v2/${IMAGE}/manifests/latest"
RESPONSE=$(curl --head -H "${HEADER}" "${URL}" 2>&1)
echo ${RESPONSE}
}
字符串
我有一个没有curl的环境,只有wget可用。
docker_hub_rate() {
local IMAGE=${1:-ratelimitpreview/test}
local RESPONSE=$(wget -qO- "https://auth.docker.io/token?service=registry.docker.io&scope=repository:${IMAGE}:pull")
local TOKEN=$(echo ${RESPONSE} | sed 's/.*"token":"\([^"]*\).*/\1/')
local HEADER="Authorization: Bearer ${TOKEN}"
local URL="https://registry-1.docker.io/v2/${IMAGE}/manifests/latest"
RESPONSE=$(wget -qS --header="${HEADER}" -O /dev/null "${URL}" 2>&1)
echo ${RESPONSE}
}
型
我仍然可以得到率。
然而,我发现wget命令消耗了一个docker hub速率,而curl没有消耗任何docker hub速率。
我想知道是什么让curl和wget的行为不同?
谢谢你,
curl和wget都不消耗docker hub下载速率。
1条答案
按热度按时间goucqfw61#
curl --head
和wget -S
不同curl
(HTTP FTP FILE)只获取文件头!HTTP服务器有HEAD命令,它只获取文件头。当用于FTP或FILE文件时,curl只显示文件大小和最后修改时间。
wget:
-S将显示头,但它执行GET,而不是HEAD。换句话说,它将获取整个URL。
在Wget中,添加--spider意味着你想发送一个HEAD请求(而不是GET或POST)。
source