Curl

為什麼我使用 curl 獲得二進制輸出

  • January 14, 2022

不確定是否可以分享我試圖獲取其來源的網站,但我認為有必要進行更好的解釋。如果不是提前,我很抱歉

命令: curl -k -L -s https://www.mi.com

由於出現以下錯誤,由於某種原因,輸出是二進制數據

Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.

如何閱讀頁面 HTML 原始碼?謝謝!

返回的數據是壓縮的,可以通過添加選項指示curl直接處理解壓:--compressed

curl -k -L -s --compressed https://www.mi.com

只需將其重定向到一個文件,然後您就可以調查它是什麼:

curl -k -L -s https://www.mi.com > outFile

您現在可以使用該file命令查看outFile包含的內容:

$ file outFile 
outFile: gzip compressed data, from Unix, original size modulo 2^32 135402

所以,你剛剛下載了壓縮數據。要查看它,請解壓縮:

mv outFile outFile.gz ## gzip requires the .gz extension
gunzip outFile.gz

或者只是使用可以處理壓縮數據的工具,例如zmore

zmore outFile

或者zcat

zcat outFile

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