Linux

檢查 HTTP 程式碼 200 的 URL

  • April 12, 2020

我有一個包含如下 URL 列表的文本文件:

http://somesite.com/some-article/
https://anothersite.fr/somepage.php?page=something

我想做的是檢查哪些 URL 返回 HTTP 程式碼 200(OK)並將它們放在另一個文件的列表中。

我怎麼能用終端來完成這個?捲曲?

嘗試使用bash執行此操作:

while read url ; do
   ret=$(curl -I -s "$url" -o /dev/null -w "%{http_code}\n")
   ((ret==200)) && echo "$url" >> new_list_URL
done < list_URL

或 POSIX 模式:

while read url ; do
   ret=$(curl -I -s "$url" -o /dev/null -w "%{http_code}\n")
   [ $ret -eq 200 ] && echo "$url" >> new_list_URL
done < list_URL

檢查人捲曲

我用這個線上

time xargs -n 1 -P 20 \
curl -o /dev/null --silent --head --write-out '"%{url_effective}","%{http_code}"\n' \
< "URLs.txt" \
| tee URLs-status_results.csv

你會得到一個美麗URLs-status_results.csv的,它需要的時間。

檢查xargscurl手冊頁。

引用自:https://unix.stackexchange.com/questions/176249