curl和wget在查询Docker Hub rate时的行为不同[关闭]

sqxo8psd  于 8个月前  发布在  Docker
关注(0)|答案(1)|浏览(63)

**已关闭。**此问题为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下载速率。

goucqfw6

goucqfw61#

curl --headwget -S不同
curl

  • 我...
    (HTTP FTP FILE)只获取文件头!HTTP服务器有HEAD命令,它只获取文件头。当用于FTP或FILE文件时,curl只显示文件大小和最后修改时间。
    wget:
    -S将显示头,但它执行GET,而不是HEAD。换句话说,它将获取整个URL。
    在Wget中,添加--spider意味着你想发送一个HEAD请求(而不是GET或POST)。
    source

相关问题