NTT PRS300SEなんですが、
IEからログインする場合に、WEBBROWSERコントロールを使って、自動ログインすることは、可能なんでしょうか?
HTML の内容にもよりますが、恐らくは可能でしょう。
実機を持っていないので、具体的なコードは提示できませんけれども。
ログイン画面がダイアログなんですが、
HTMLの場合は、ソース表示で、HTMLを調査できますが、
このような場合は、どのように、テキストボックス、ボタン等に、アクセスまたは、名前を取得すればいいのでしょうか?
BASIC認証だと思うのですが。。。
編集 削除BASIC認証だと思うのですが。。。
編集 削除BASIC認証だと思うのですが。。。
編集 削除同じ質問をしてしまいました。
たいへんすいません。
> 同じ質問をしてしまいました。
(^_^;)
> BASIC認証だと思うのですが。。。
Fiddler2 なり、InetSpy なり、ieHTTPHeaders なりを使って、
通信内容を確認すれば、それが BASIC 認証かどうかを確認できますよね。
で、それが BASIC 認証であるようならば、UserName:Password を
BASE64 エンコードした文字列を Navigate メソッドの Headers 引数に
Authorization: Basic として送り込んでみて下さい。CrLf改行を忘れずに。
http://support.microsoft.com/kb/172998/ja
ありがとうございました。
どうやら、BASIC認証のようです。
WWW-Authenticate: Basic realm="*****"
教えていただいた方法でやってみます。
この辺も参考に、教えていただいた、ページと、
http://www.ken3.org/vba/backno/vba159.html
を見て、やってみたのですが、
ダイアログがでます。
何か他にheaderとして送るデータに、抜けがるのでしょうか?
GET /scripts/st_mainte.js HTTP/1.1
Accept: */*
Referer: http://***.***.***.***/cgi-bin/paractl.cgi?menu_top
Accept-Language: ja
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept-Encoding: gzip, deflate
Host: ***.***.***.***
Connection: Keep-Alive
Authorization: Basic *********************
http://www.ken3.org/vba/backno/vba159.htmlにでているサンプルのURLでは、ダイアログがでず、アクセスできました。
しかし、ルーターは、うまくいかないようです。
InetSpy や Fiddler2 などを用いて、Internet Explorer から通常ログオンした場合と、
WebBrowser からログオンした場合に、通信内容に違いが無いかどうかを
確認してみて下さい。
InetSpyで確かめてみました。
BASE64 エンコードした文字列は、同じでしたが、
順番が違うようです。
何か、関係しているのでしょうか?
IE
GET http://***.***.0.1/ HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*
Accept-Language: ja
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept-Encoding: gzip, deflate
Proxy-Connection: Keep-Alive
Host: ***.***.0.1
Authorization: Basic ********
WebBrowser
GET http://***.***.0.1/ HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*
Accept-Language: ja
Authorization: Basic ********
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: ***.***.0.1
Proxy-Connection: Keep-Alive
> WebBrowser
通常、ヘッダー内の順序は関係無いはずです。User-Agent 以外は、特に違いは無さそうですね。
> IE
この前に、Authorization ヘッダーの無いリクエストや
WWW-Authenticate ヘッダーを伴ったレスポンスはありますか?
IEで手動でログインした後ですが、
その後、ブラウザを閉じ、起動すると、
こんな感じでした。
1回目(リクエスト情報)
GET http://192.***.0.1/ HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*
Accept-Language: ja
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept-Encoding: gzip, deflate
Proxy-Connection: Keep-Alive
Host: 192.***.0.1
1回目(応答情報)
HTTP/1.1 401 Unauthorized
Server: VR11-HTTPD v1.00
Content-type: text/html
Pragma: no-cache
Cache-Control: no-cache
Accept-Ranges: bytes
Proxy-Connection: close
Connection: close
WWW-Authenticate: Basic realm="RT-200KI"
2回目(リクエスト情報)
GET http://192.***.0.1/ HTTP/1.1
Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-silverlight, */*
Accept-Language: ja
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept-Encoding: gzip, deflate
Proxy-Connection: Keep-Alive
Host: 192.***.0.1
Authorization: Basic **********=
2回目(応答情報)
HTTP/1.1 200 OK
Server: VR11-HTTPD v1.00
Content-type: text/html; charset=Shift_JIS
Pragma: no-cache
Cache-Control: no-cache
Accept-Ranges: bytes
Proxy-Connection: close
Connection: close
Content-length: 689
テストで、ちょっと違う環境でやっております。
"RT-200KI"
手動で確かめたのですが、フレームですね。
http://madia.world.coocan.jp/vb/vb_bbs2/200506/200506_05060039.html
フレームだと上記方法は、使えないのでしょうか?
BASIC認証ダイアログがでてきたら、ユーザー名、パスワードを入力し、OKボタンを押すようなことは、できるのでしょうか?
編集 削除解決していないですが、閉じたいとおもいます。
編集 削除