VB6を利用して, WebBrowserコントロールを使ってあるURL(ftp://〜)を表示させようとしています。
しかしながら, 開発環境, およびユーザの利用環境において, Proxyサーバを利用しているためか, 最初にブラウザを起動したときにIDとパスを入力するための認証画面(多分,ダイアログ)が起動してしまうため, 自動入力で表示させたいのですが手入力でID,パスを入力しないまでもOKボタンをクリックしないとプログラム上先へ進めない状態になっております。
GetWindowやGetDlgItemなどのAPI関数を当っては見たものの, 使い方をよく理解していないためか, うまく解決することができませんでした。
ブラウザの表示さえできれば, FTPサイトのURLに表示されたリンク(.txt)を順に表示させて, document.outertext でファイルアクセスを使ってテキストファイルを指定の場所に自動的に保存するようにプログラミングしており, プロキシの認証だけがネックとなってしまいました。
以上, 多少冗長にはなってしまいましたが, 助言をいただければと存じます。
なお, ポート番号は,10080を利用しています。
ftp://ホスト名又はIPアドレス:10080/-_-URL
とやってみるとか。
>ftp://ホスト名又はIPアドレス:10080/-_-URL
試行してみましたが, しばらくハングった上に接続がうまくいかなかったようです。何度試みても同じ結果でした。
今抱えている問題としては, ブラウザを最初に起動したときに, どのようなURL(社内とかイントラネットではなく外部のネットワーク)にアクセスしたときにクリアテキスト認証という壁が立ちはだかっており, ここを超えない限りはこの先の処理には進めないと言うことです。
なお、basp21.dllなどを利用してBase64形式に変換するとかいった手法も試みましたが, まったく意味がない状態でした。
そのマシーンからWebサイトは普通に見えているんですよね?
クリアテキスト認証画面にて, IDとパス(双方とも保存する設定にしておくことができる)を入力してOKボタンをクリックすれば, GoogleやYahoo!などのサイトにアクセスすることは可能です。
いったん外部に出てしまえば, 同じWebBrowserコントロール上に任意のURLを認証なしでアクセスすることが可能なようです。よって最初の認証さえできてしまえばこの問題は解決することが可能になります。
eln111.exeというフリーソフトを利用することで, この問題を解決致しました。
よってこの質疑応答についてはここで終了と致します。
ツイート | ![]() |