私はプロキシを使ってwget
で何かをダウンロードしたいです。
HTTP Proxy: 127.0.0.1
Port: 8080
プロキシはユーザー名とパスワードを必要としません。
これどうやってするの?私はたくさんのサイトやたくさんの提案を調べましたが、何もうまくいきませんでした….
/etc/wgetrc
を介したシステムのすべてのユーザー、または~/.wgetrc
ファイルを使用しているユーザーのみ
use_proxy=yes
http_proxy=127.0.0.1:8080
https_proxy=127.0.0.1:8080
またはURLの後に置かれた-e
オプションを通して:
wget ... -e use_proxy=yes -e http_proxy=127.0.0.1:8080 ...
コマンドラインを入力します。
$ export http_proxy=http://proxy_Host:proxy_port
認証済みプロキシの場合
$ export http_proxy=http://username:password@proxy_Host:proxy_port
そして走る
$ wget fileurl
httpsの場合は、http_proxyの代わりにhttps_proxyを使用してください。毎回これを実行する必要がないようにこれらの行を〜/ .bashrcファイルに入れることもできます。
以下の可能な設定は/etc/wgetrc
にあり、コメントを外して使用してください...
# You can set the default proxies for Wget to use for http, https, and ftp.
# They will override the value in the environment.
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
# If you do not want to use proxy at all, set this to off.
#use_proxy = on
wgetは、環境変数を使用します。コマンドラインで次のように機能します。
export http_proxy=http://your_ip_proxy:port/
export https_proxy=$http_proxy
export ftp_proxy=$http_proxy
export dns_proxy=$http_proxy
export rsync_proxy=$http_proxy
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
Ubuntu 16.04 LTSを認証済みプロキシの背後に構成するための多くのチュートリアルを試した後、次の手順で機能しました。
編集/etc/wgetrc
:
$ Sudo nano /etc/wgetrc
これらの行のコメントを解除します。
#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on
http://proxy.yoyodyne.com:18023/
をhttp://username:password@domain:port/
に変更します
重要:それでも機能しない場合は、パスワードに
#
、@
などの特殊文字が含まれているかどうかを確認してください。その場合は、エスケープします(たとえば、passw@rd
withpassw%40rd
)。
Ubuntu 12.xでは、$ HOME/.wgetrcに次の行を追加しました。
http_proxy = http:// uname:[email protected]:8080
use_proxy = on
私のUbuntuでは、$ HOME/.wgetrcの中の行をたどるとうまくいきました。
http_proxy = http:// uname:[email protected]:8080
use_proxy = on
Debian Linuxでは、wgetは環境変数とwgetrcの両方を介してプロキシを使用するように設定できます。どちらの場合も、HTTPおよびHTTPS接続に使用される変数名は次のとおりです。
http_proxy=hostname_or_IP:portNumber
https_proxy=hostname_or_IP:portNumber
ファイル/ etc/wgetrcが環境変数よりも優先されることに注意してください。したがって、システムにプロキシが設定されていて、環境変数を使用しようとしても、それらは効果がないようです。
Windowsでは - Fiddlerの言うなら - 環境変数を使う:
set http_proxy=http://127.0.0.1:8888
set https_proxy=http://127.0.0.1:8888
export http_proxy=http://proxy_Host:proxy_port/
export https_proxy=https://proxy_Host:proxy_port/
または
export http_proxy=http://username:password@proxy_Host:proxy_port/
export https_proxy=https://username:password@proxy_Host:proxy_port/
他のすべての人がここで説明したように、これらの環境変数はプロキシを渡すのを助けます。
注: ただし、パスワードに特殊文字が含まれている場合は、それを%<hex_value_of_special_char>
として構成する必要があります。
例: パスワードがpass#123
の場合、上記のエクスポートコマンドでpass%23123
として使用する必要があります。
プロキシを使ってwgetを一度だけ実行する必要がある場合、最も簡単な方法は次のようなワンライナーを使って実行することです。
http_proxy=http://username:password@proxy_Host:proxy_port wget http://fileurl
またはhttpsターゲットURLを使用した場合
https_proxy=http://username:password@proxy_Host:proxy_port wget https://fileurl