ソースを入手したいウェブサイトを共有できるかどうかはわかりませんが、より良い説明が必要だと思います。事前にそうでなかったらお詫び申し上げます。
注文する:
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ソースコードを読む方法は?ありがとうございます!
答え1
返されたデータは圧縮、curl
次のコマンドを追加することで、直接解凍を処理できます。--compressed
オプション:
curl -k -L -s --compressed https://www.mi.com
答え2
ファイルにリダイレクトすると、ファイルが何であるかを調べることができます。
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
答え3
Use "--output -" to tell Warning: curl to output it to your terminal anyway
絵
curl -k -L --output - s https://www.mi.com
または、--output file
次のファイルに保存します。
curl -k -L --output filename s https://www.mi.com
そして、好きなエディタを使ってファイルを確認してください。
答え4
どんな形式なのかわからないならバイナリ出力もっと安全でしょうか出力形式の確認最初。
それ以外の場合は、すでに使用しているように、-s
バッチ/自動化スクリプトなどのサイレントモードに対して次のことを実行できます。パイプを介して直接接続適切なバイナリコンバータで。
または、HTTP出力がすでに圧縮されていると仮定すると解凍する。
バイナリカール出力の確認
curl -k -L -s https://www.mi.com -I
たとえば、curl -k -L -s https://www.mi.com -I | grep Content-
エンコード(UTF-8など)、バイト長(ここではリダイレクト後169747バイト)などの追加の出力メタデータも表示されます。
コンテンツタイプ: テキスト/html
コンテンツの長さ: 223
コンテンツタイプ:テキスト/html;文字セット=utf-8
画像の長さ:169747
注:上記のHTTP要求はリダイレクトされ、カールから2つの応答と2つの応答ヘッダーを取得します。 1つ目はリダイレクトで発生し、2つ目は最終出力で発生します。
- パイプを介して
type
バイナリデータ形式(ファイル形式)を確認します。
curl -k -L -s https://www.mi.com | type
- 使用
-o
または--output
ファイルに保存:
curl -k -L -s https://www.mi.com -o outFile
バイナリ出力を渡す(例:画像ビューアとして)
パイプを使用して、応答ヘッダーに表示されている画像をContent-Type: image/x-icon
標準入力を許可するビューアに渡すこともできますfeh
。
curl -k -L -s https://www.mi.com/favicon.ico | feh
カール出力の解凍
バイナリ出力は、次の結果になります。HTTP圧縮通常、帯域幅を節約し、転送速度を上げるために使用されます。
- パイプで
zcat
直接解凍して確認してください。
curl -k -L -s https://www.mi.com | zcat
カールの出力が期待どおりに圧縮されない場合は、次の警告が表示されます。
gzip:stdin:gzip形式ではありません
〜のようにTedenインタラクティブな説明。
- 使用
--compressed
:
curl -k -L -s https://www.mi.com --compressed
〜のようにスティーブンが答えた。