it-swarm-ja.com

wget-「?」が付いたファイルをダウンロードできません

私はwgetによってaircrackのいくつかのtutsをダウンロードしたかったのですが、失敗しました:

wget -r 2 http://www.aircrack-ng.org/doku.php\?id=tutorial\&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd 
--2011-10-06 14:16:11--  http://2/
Resolving 2... 0.0.0.2
Connecting to 2|0.0.0.2|:80... failed: Invalid argument.
--2011-10-06 14:16:11--  http://www.aircrack-ng.org/doku.php?id=tutorial&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd
Resolving www.aircrack-ng.org... 213.186.33.2, 2001:41d0:1:1b00:213:186:33:2
Connecting to www.aircrack-ng.org|213.186.33.2|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
www.aircrack-ng.org/doku.php?id=tutorial&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd: Invalid argument

Cannot write to `www.aircrack-ng.org/doku.php?id=tutorial&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd' (Invalid argument).

この問題を解決する方法を知っていますか?

6
oneat

これはおそらく、「?」を含むファイル名を許可しないようにダウンロードしているファイルシステムです。初期化。エラーは「書き込めません」であることに注意してください。

--restrict-file-names=windowsオプションを使用して、FATファイルシステムとの互換性のために名前をエスケープできます。 (wgetによって行われる不可逆的な追加の%-エンコーディングは、実際にはWebアーキテクチャに対して正しくありませんが、おそらく気にしないことに注意してください。)

1つのファイルのみをダウンロードする場合は、-O <filename>を使用して特定のファイル名を指定することもできます。

8
Kevin Reid

&も一般的に問題を引き起こします。 URL全体を引用符で囲んでみてください。

4
pjc50

pjc5 で示されているように、特殊文字が含まれている場合は、URLを引用符で囲んでください。したがって、次のことを試してください。

wget -r 2 'http://www.aircrack-ng.org/doku.php?id=tutorial&DokuWiki=78e8249415a9ce232228ed8f9f02b9dd'

引用符を使用しない場合、シェルは&に遭遇すると、バックグラウンドでwgetジョブを実行することを想定します。

2
Barun