- PR -

wgetでproxy経由でhttpsが取得できません

1
投稿者投稿内容
あいち
会議室デビュー日: 2004/10/21
投稿数: 3
投稿日時: 2004-10-21 16:51
proxyを利用しないとインターネットに出られない環境で、wget-1.9.1を利用してます。

httpは、proxy経由で問題なく取得できます。
しかし、httpsはproxy経由で取得することができません。

以下のように応答がない状態です。(実際のホスト名、IPアドレスは伏せています。)

コード:
$ /usr/local/bin/wget -d -O hoge.txt https://hogehoge.jp/
DEBUG output created by Wget 1.9.1 on linux-gnu.

--15:44:12--  https://hogehoeg.jp/
           => `hoge.txt'
hogehoge.jp をDNSに問いあわせています... xx.xx.xx.xx
Caching hogehoge.jp => xx.xx.xx.xx
hogehoge.jp[xx.xx.xx.xx]:443 に接続しています...



コンパイル時に --with-sslは付けてあり、特にエラーも出ませんでした。

.wgetrcにてproxyを利用する設定もしてあります。

コード:
http_proxy = proxy.hoge.jp:8080
use_proxy = on



https関連のオプションもいつか試してみましたが、どうもおかしいということで、
tcpdumpで通信を見てみると、httpの時は、proxyにリクエストを投げているにも関わらず、
httpsの時は、proxyに投げずに対象のhttpsサイトにリクエストを投げていました。

何故・・・? wgetのバグ?

解消方法をご存知の方いらっしゃいませんか。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2004-10-21 19:36
こんばんわ.
引用:

あいちさんの書き込み (2004-10-21 16:51) より:

https関連のオプションもいつか試してみましたが、どうもおかしいということで、
tcpdumpで通信を見てみると、httpの時は、proxyにリクエストを投げているにも関わらず、
httpsの時は、proxyに投げずに対象のhttpsサイトにリクエストを投げていました。


その host で WWW browser は使えませんか?
使えるようなら,同じように https を喋らせてみたらどうなるでしょう?


[ メッセージ編集済み 編集者: kaz 編集日時 2004-10-21 19:37 ]
あいち
会議室デビュー日: 2004/10/21
投稿数: 3
投稿日時: 2004-10-22 16:01
レスありがとうございます。

引用:

その host で WWW browser は使えませんか?
使えるようなら,同じように https を喋らせてみたらどうなるでしょう?



proxy経由でアクセス可能なサイトなのかの確認ですね。

w3cで proxyを設定してアクセスしてみましたが、きちんと表示できました。
ついでに curlでも試してみたところ、コンテンツ取得ができました。
curlのバージョンは 7.8です。

コード:

$ curl -x proxy.hogehoge.jp:8080 https://hogehoge.jp/ 



wgetで proxy経由のときのみ NGのようです。

curlを使えば、httpsで公開されているコンテンツの取得を proxy経由で実現可能と
判明しましたので、とりあえず先に進むことができるようになりました。
wgetに固執する理由は何もないので curlに移行することにします。

ただ・・・、本件 wgetの仕様なんですかね。惜しいです。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2004-10-22 22:57
SSLを使用する場合は、

http-proxy = proxy.hoge.jp:8080
https-proxy = proxy.hoge.jp:8080

とする必要があったように思いますよ。
あいち
会議室デビュー日: 2004/10/21
投稿数: 3
投稿日時: 2004-10-27 19:38
情報ありがとうございます。

/usr/local/etc/wgetrcのコメントを外しただけで以下のように設定していました。

コード:

# You can set the default proxies for Wget to use for http and ftp.
# They will override the value in the environment.
http_proxy = http://proxy.yoyodyne.com:18023/
ftp_proxy = http://proxy.yoyodyne.com:18023/



教えていただいたとおり、https_proxyの行を追記してみたところ、HTTPSのコンテンツ取得ができました。

解決です。スッキリしました。
1

スキルアップ/キャリアアップ(JOB@IT)