質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

3回答

2272閲覧

curlコマンドによるダウンロード

n0x

総合スコア2

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2021/04/26 10:10

前提・実現したいこと

Aristaという機器メーカーのサイトから、curl or wgetを用いて、ファイルをダウンロードしたいです。
よろしくお願い申し上げます。

発生している問題・エラーメッセージ

テストとして、curlコマンドを用いてmd5ファイルのダウンロードを実施しましたが、ダウンロードされたのはmd5でなく、
HTMLの内容のテキストデータでした。(wgetでも同様のものを持ってきます。)
以下実施時の出力です。

root@LAPTOP-PO80SRDJ:/mnt/c/test# root@LAPTOP-PO80SRDJ:/mnt/c/test# curl -OL https://www.arista.com//support/download/EOS-USA/Active%20Releases/4.25/EOS-4.25.1F/EOS-4.25.1F.swi.md5sum % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 401 100 401 0 0 544 0 --:--:-- --:--:-- --:--:-- 544 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0 100 53900 100 53900 0 0 11843 0 0:00:04 0:00:04 --:--:-- 384k root@LAPTOP-PO80SRDJ:/mnt/c/test# root@LAPTOP-PO80SRDJ:/mnt/c/test# ls EOS-4.25.1F.swi.md5sum root@LAPTOP-PO80SRDJ:/mnt/c/test# root@LAPTOP-PO80SRDJ:/mnt/c/test# cat EOS-4.25.1F.swi.md5sum | head -n 5 <!doctype html> <html lang="en-gb" dir="ltr"> <head> <meta charset="utf-8" /> <base href="https://www.arista.com/en/login" /> root@LAPTOP-PO80SRDJ:/mnt/c/test# root@LAPTOP-PO80SRDJ:/mnt/c/test#

ダウンロードリンク

ダウンロードリンクは、以下のHTMLソースコードとAristaのURLより
https://www.arista.com//support/download/EOS-USA/Active%20Releases/4.25/EOS-4.25.1F/EOS-4.25.1F.swi.md5sumと判断し、実施しました。

また、添付画像にて青下線が引かれているところの、ソースコードは以下となります。

<a href="javascript:void(0)" onclick="downloadfile('/support/download/EOS-USA/Active Releases/4.25/EOS-4.25.1F/EOS-4.25.1F.swi.md5sum')">EOS-4.25.1F.swi.md5sum</a>

試したこと

・上記リンクを用いて、curl,wgetの実施。
イメージ説明
・添付画像にあるリンクアドレスのコピーを実施するとvoid(0)がコピーされます。
・ログインが必要なページのため、--user=USER --password=PASSWORD をオプションとして実施しても
同様の結果となっています。

追記用

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

wgetでダウンロードできたみたいですけど。

(wget実行中) EOS-4.25.1F.swi.md5sum 100%[====================>] 52.64K --.-KB/s 時間 0.08s 2021-04-26 20:39:15 (695 KB/s) - `EOS-4.25.1F.swi.md5sum' へ保存完了 [53900/53900] $ ls -l EOS* -rw-r--r-- 1 xxxxxxxx wheel 53900 4 26 20:39 EOS-4.25.1F.swi.md5sum

投稿2021/04/26 11:43

technocore

総合スコア7337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

n0x

2021/04/27 00:26

実施確認頂いたようで、ありがとうございます。 私もダウンロード自体はできているのですが、中身が違うのです。 もってきたファイルの中身はmd5sumファイルなので、128bit(32文字)の内容しかないはずですが、ご連携いただいた結果からは[53900/53900]となっています。 発生している問題・エラーメッセージにも記載いたしましたがおそらくtecnnocore様も同様にHTMLファイルを取得していると思われます。 お手数ではございますが、実施いただいたコマンドにてもってきたファイルをcatし、32文字の文字列が表示されているかご確認いただけますでしょうか。
technocore

2021/04/27 01:03

そういうことでしたか。 質問文をよく読んでおりませんでした。 失礼いたしました。
guest

0

wget--save-cookies, load-cookies を使えばセッションが再現できます。
ログインの方法はサイトによって違うので、具体的にどういうコマンドを送ればいいかは、自分で解析するしかありません。

投稿2021/04/26 10:37

yuki23

総合スコア1448

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そのサイトは curl や wget でアクセスすることを想定していないのでは?
サーバの内部構造を勝手に解析してアクセスするのはよくないかと

投稿2021/04/26 10:33

sigsegv

総合スコア895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問