リモートURLからXMLファイルをダウンロードしようとしています。私はその内容をWebブラウザで見ることができますが、コマンドラインからダウンロードすることはできません(Webブラウザから手動でダウンロードすることができます)。私はwgetを使用しています:XMLファイルをダウンロードできません
wget -q -O test.xml https://example.com/test
私もcURLを成功させて使ってみました。
リモートURLからXMLファイルをダウンロードしようとしています。私はその内容をWebブラウザで見ることができますが、コマンドラインからダウンロードすることはできません(Webブラウザから手動でダウンロードすることができます)。私はwgetを使用しています:XMLファイルをダウンロードできません
wget -q -O test.xml https://example.com/test
私もcURLを成功させて使ってみました。
-q
を削除し、あなたが表示されます:
--2017-04-20 14:25:53-- https://example.com/test Resolving example.com... 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946 Connecting to example.com|93.184.216.34|:443... connected. HTTP request sent, awaiting response... 404 Not Found 2017-04-20 14:25:53 ERROR 404: Not Found.
URLが404エラーページです。その結果、text.xml
は空です。その後
手動見れば:
だから、--content-on-error If this is set to on, wget will not skip the content when the server responds with a http status code that indicates error.
:
wget -q --content-on-error -O test.xml https://example.com/test
...成功し、そのリソースをダウンロードします。
これは有効なXMLではありません。 HTML 5 Doctypeはそれを壊します。
は、ヘッダに
wget -q -O --header="Accept:text/xml,*/*" test.xml https://example.com/test
を設定してください、私は取得しています: "失敗しました:接続がタイムアウトしました再試行を。"。非常に奇妙な – Blackcoat77
@ Blackcoat77 - それはあなたとexample.comの間のネットワークの問題を示唆しています。ブラウザで動作する場合はおそらく、プロキシサーバーの設定に関係するものでしょう。 – Quentin
デフォルトのHTTPリクエストヘッダーを表示するためにwget -d https://example.com/testと入力すると、「証明書が読み込まれました:174」と表示されます。上記のURLをGoogleと置き換えると、適切なHTTPリクエストヘッダーが取得されます。 – Blackcoat77