こんにちは。
VB6.0です。
BASIC認証がかかっているページを以下のように起動して
IDとパスワード入力無しで入力したいと考えています。
-----------
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.Navigate2 "http://hogehoge/index.html", , , , "Authorization: Basic (BASE64化したuser:passwd)=\n"
-----------
このコードで hogehoge/index.html は、
確かにダイアログが表示可能なのですが
index.htmlに含まれる画像ファイル
(a.gif, b.jpg)を表示する際にBASIC認証ダイアログ
が表示されてしまいます。。
index.htmlに含まれた画像ファイルもダイアログ表示することなく
表示したいのです。
素人的な考えですが、navigate2の引数でheaderを指定しているので
この現象が発生しているのかなと思っています。
Set IE = CreateObject("InternetExplorer.Application")
IE.header = "Authorization: Basic (BASE64化したuser:passwd)=\n"
みたいなことができれば回避できるのかなと思っているのですが。。
お気づきの点、回避方法等ご教授くださいませ。
一部、文章がおかしかったので修正します。
>このコードで hogehoge/index.html は、
>確かにダイアログが表示可能なのですが
↓
このコードで、hogehoge/index.html は、
確かにBasic認証ダイアログが表示されることなく
IEオブジェクトで受信ができているのですが
大変失礼しました。
Apacheとかのhttpデーモンの
.htaccessは、httd.confのディレクトリ版みたいなもので
そのディレクトリ全てのアクセス制限を行います。
この場合IEをWitheventsなどでイベントをトラップできるようにして
beforenavigate2のところで
cancel=Trueにしてから
再度ヘッダをつけておくったらどうでしょうか?
もっとスマートな方法があるような気もしますが。。
昔はなんか、http://user:pass@domain.com/
でいけたような気もしたんですが、さっきやったら出来ませんでした。
ツイート | ![]() |