JAVAでIEコンポーネントのブラウザを作りたいと思っているのですが、プロキシに関しての仕様で悩んでいます。


手作業で、登録してあるプロキシのリストより選んで、プロキシを切り替えるものに関してはあると思うのですが、それらの作業を自動化できないかと思っています。

そこで、フィールドにいくつか入力してあるプロキシのリストを読み込み、切り替えるとき、どこにプロキシのURLとポートの値を引き渡せばいいのかを知りたいと思っています。

自分で調べて、UrlMkSetSessionOptionや、UserAgentあたりがキーなのかと思ったのですが、いかがですか。


当方、初心者プログラマのため、質問の意図が伝わりにくいかも知れませんが、ご容赦ください!
回答お待ちしています。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2006/08/20 03:20:44
  • 終了:2006/08/27 03:25:03

回答(3件)

id:kurukuru-neko No.1

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/08/20 03:30:11

ポイント27pt

プロキシは、IPアドレス、ポートを指定方法と

自動構成スクリプを使う方法があります。

あるMS製品を使っていたりある一定以上の

企業や、自動設定をしたいところは、

自動構成スクリプト(JavaScript)を使う方法が利用します。

http://www.atmarkit.co.jp/fwin2k/experiments/ieproxy/ieproxy...

UrlMkSetSessionOption

http://msdn.microsoft.com/library/default.asp?url=/workshop/...

id:yoshi5231

参考にはなりましたが、私が意図していたものとは若干観点が違いました。

私が求めているのは、ある自作のアイコン(IEの戻る、進む、プリンタのような)を押すことで、別に記してあったプロキシのリスト(.txtを読み込み、あるいはテキストフィールドに入れてあったもの)より値を入れ替え、プロキシを変えたいといった機能です。

上記のことをする際の、IEのコンポーネントの扱い方などを求めています。

説明不足で申し訳ありません。

2006/08/20 03:47:06
id:ardarim No.2

ardarim回答回数896ベストアンサー獲得回数1442006/08/20 20:57:06

ポイント27pt

InternetSetOptionを使えばよいかと思います。

http://msdn.microsoft.com/library/default.asp?url=/library/e...


hInternetにNULLを指定することで、システム全体のプロキシ設定を変更します(レジストリを書き換えます)。

dwOptionには、INTERNET_OPTION_PROXYを指定します。

lpBufferには、INTERNET_PROXY_INFO構造体を指定し、構造体にてプロキシサーバやポートを指定します。

dwBufferLengthには、INTERNET_PROXY_INFO構造体のサイズを指定します。


ちなみに該当のレジストリは下記の場所にありますが、BINARYタイプなので、InternetSetOptionを通した変更が必要です。

HKEY_CURRENT_USER\SOFTWARE\Microsoft\windows\CurrentVersion\Internet Settings\Connections:DefaultConnectionSettings


変更後、ブラウザコントロールのリフレッシュが必要になると思います。

id:yoshi5231

回答ありがとうございました

私なりにInternetSetOptionを調べてみます。

当方 あまり理解できていないので・・

ほかにも詳しい説明等ありましたらよろしくお願いいたします。ポイントは回答ごとに

割り振らせていただきますので…

2006/08/21 01:36:10
id:ardarim No.3

ardarim回答回数896ベストアンサー獲得回数1442006/08/22 04:22:37

ポイント26pt

こちら(英語)にInternetSetOptionの簡単なサンプルコードが載っています。

日本語版もありますが機械翻訳なのでちょっと文意が汲み取りにくいかもしれません。


なお前回回答した方法は古い(IE 4)やり方で、IE 5以降はINTERNET_OPTION_PROXYではなくINTERNET_OPTION_PER_CONNECTION_OPTIONを使うようですので訂正しておきます。

サンプルは上記URLにあります。


具体的に何が知りたいかが分かると的確な回答もできるかと思いますが...


参考ですが、いわゆるIEコンポーネントと呼ばれているものはブラウザコントロールとも呼ばれます。ブラウザコントロールは、内部でHTTPなどのプロトコルを使用するために、WinInetライブラリを呼び出しています。InternetSetOptionはこのWinInetライブラリの設定を変更するものです。

これは、Windows CEでのInternet Explorerと関連コンポーネントの概念図ですが、デスクトップ版のInternet Explorerと大きく構成は変わりませんので参考までに。IEコンポーネントを使ったブラウザアプリは"Browser Application"の部分に位置づけられます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません