curl: (3) URL 使用 bad/illegal 格式或缺少 URL - 检查响应代码

curl: (3) URL using bad/illegal format or missing URL - Checking response code

下面的代码在 Ubuntu 20.04 上运行良好。它检查在 A 列中包含 URL 的 .csv 文件。每个地址 URL 都在一个新行中。

要使用它,您需要通过键入 运行 脚本:

bash script.sh file_with_urls.csv response_code

例如:bash script.sh urls-to-check.csv 200

#!/usr/bin/env bash
while read -r link; do
    response=$(curl --output /dev/null --write-out %{http_code} "$link")
    if [[ "$response" == "" ]]; then
        echo "$link"
    fi
done < ""

如果我在 Windows 10 和 WSL Ubuntu 20.04 发行版上使用它,我会得到“curl: (3) URL using bad/illegal format or missing URL" 错误。

我有点卡住了...

可能是行尾:

#!/usr/bin/env bash

while IFS=, read -ra link; do
    response=$(curl --output /dev/null --write-out %{http_code} "${link[0]}")
    if [[ "$response" == "" ]]; then
       echo "${link[0]}"
    fi
done < <(sed 's/\r$//' "")

您也可以dos2unix urls_to_check.csv进行转换。如果您在 Windows 中打开它,它可能会被转换回来。

或者,像这样调用它:

bash script.sh <(sed 's/\r$//' file_with_urls.csv) response_code