目的:コマンドラインから公式Win10_1909 isoをLinuxに直接ダウンロードしてください。
源泉:https://www.microsoft.com/en-in/software-download/windows10ISO
バージョンと言語を選択すると、次の64ビットリンクが提供されます。これは24時間以内に有効です。
これはすべてのGUIブラウザまたはプラットフォームでうまく機能しますが、Linuxボックスで使用する必要があります。
- もちろん、LinuxサーバーにはGUIはありません。 (GUIをインストールする予定はありません。)
- wget/curl により html ファイルのダウンロードが禁止されます。
- ユーザーエージェントを Firefox に変更するか、wget/curl: curl -d '{"t": 77e897e2-a32c-419c-8f18-54770dbb5a15, "e": 1583942596, "h": 595f691d887 isoファイルが禁止されているページを返します。
- ariaやaxelなどのLinuxベースのダウンロードマネージャを試しましたが、禁止のため失敗しました。
コマンドラインを介してのみこれを行うにはどうすればよいですか?
答え1
これは URL にシェルで解釈される特殊文字があるため禁止されます。たとえば、「?」と「&」があります。次に、例URLを見てください。
Curl-LOCATION-遠隔名C
これは次のことを行います。
- 実際には、次のことを行うサブシェルを起動します。
カール --location --remote-name https://software-download.microsoft.com/pr/Win10_1909_English_x64.iso?t=77395428-650e-4e5c-8bcc-97abca347eaa
- 変数 "e" に "1583937294" 値が割り当てられたサブシェルを起動します。
- 現在のシェル環境には、値 "2b05fad63d3a6e2a0c4a20cb49f34e7c" が割り当てられた変数 "h" があります。
どうすれば修正できますか? - 簡単です。 URLの周りに一重引用符を追加するだけです。
curl ---location ---lemote-name 'https://software-download.microsoft.com/pr/win10_1909_english_x64.iso?t=77395428-650e-4e5c-8bcc-97abca347eaa=15837294A4=A
答え2
ついに解決策を見つけました。 Firefoxでは拡張は必要ありません。
受信したURLを取得したら、Firefoxで新しいタブを開き、開発者ツール(F12)を開きます。 [ネットワーク]タブに切り替えてダウンロードURLを入力してください。ダウンロードするように求められたら、[キャンセル]をクリックします。
これで、ネットワークの下にGETリクエストがあります。これを右クリックしてを選択しますCopy > Copy as cURL
。この巨大な文字列を端末に貼り付けて、-o [/path/filename]
ファイルをSTDOUTにダンプするのではなく、実際にどこかに保存するには追加してください。それだけです!
Chromiumベースのブラウザでは、Microsoftダウンロードページから32ビットダウンロードと64ビットダウンロードボタンを作成した後。開発者ツールを開き、[ネットワーク]タブに切り替えます(空でなければなりません)。 32ビットまたは64ビットのダウンロードボタンをクリックします。名前を付けて保存ダイアログボックスが表示された場合は、キャンセルしてください。 [ネットワーク] タブにリストされている新しい URL を右クリックし、コピー->カールにコピー
次にターミナルウィンドウに貼り付けて値を追加します-o [/path/filename]
。 (たとえば-o Win10_20H2_v2_English.iso
)ダウンロードを開始する必要があります。
答え3
私はプロセス全体を自動化するためにMidoというツールを作成しました。