wget、curlコマンドは部分ファイル名を受け入れます。

wget、curlコマンドは部分ファイル名を受け入れます。

ファイルをダウンロードしようとしています。hpaid.tar.gzリモートサーバーで使用

wget --no-check-certificate http://xx.xx.xx/hpraid.tar

curl -O http://xx.xx.xx/hpraid.tar

しかし、.gzファイル名部分に拡張子が抜けましたが、両側ともファイルをダウンロードしました。得るそしてカール ワイルドカードのない部分的なファイル名の一致により、混乱しています。

私に強制する方法はありませんか?得るそしてカール完全なファイル名が一致しますか?

ベストアンサー1

curl -v telnet://xx.xx.xx:80/サーバーのhpraid.tar拡張可能性を使用してテストできますhpraid.tar.gz

はい

インタラクティブに使用する方法は次のとおりですcurl。ここでは、サーバーから直接次のURLを要求しますGET /

$ curl -svLI telnet://www.google.com:80/ <<< "GET /" | head -5
*   Trying 74.125.141.99...
* Connected to www.google.com (74.125.141.99) port 80 (#0)
HTTP/1.0 200 OK
Date: Mon, 09 Jul 2018 19:39:10 GMT
Expires: -1

メモ:上記では、GET /Googleにメッセージを送信し、GoogleがSTATUS 200で応答したことを確認できます。

あなたの問題

サーバーがファイル拡張子を追加していることを確認するには、.gz次の手順を実行して直接確認できます。

$ curl -v telnet://xx.xx.xx.xx/hbraid.tar <<< "GET /"

ファイルがダウンロードされるのを見ると、サーバーが追加の作業を行っていることがわかります。失敗すると、クライアントがこの操作(curlまたはwget)を実行していることがわかります。

手動で?

上記のいずれかの問題が発生した場合は、次のように手動でこれを実行できます。

  1. curlサーバーHTTPポート

    $ curl -svLI telnet://www.google.com:80/
    *   Trying 74.125.141.99...
    * Connected to www.google.com (74.125.141.99) port 80 (#0)
    
  2. URLを取得

    GET / <--- hit Return after this 2 times!
    
  3. ビジュアル検証ダウンロード

追加ツール

socat同様のものを使用または実行することもできます。nc

おすすめ記事