easefull 发表于 2011-5-4 15:59:04

[已解决]内嵌IE(_IECreateEmbedded)访问需要站点密码的网站的方法

本帖最后由 easefull 于 2011-6-4 03:40 编辑

今天想做一个获取内网路由信息(如运行时间、工作日志等)的程序.试图在内嵌IE里打开路由Web管理网页时失败.
但使用_IECreate()却可以正常打开网页.
请问这是什么原因?有什么办法可以让内嵌IE打开内网的网页吗?

以下是我的代码:
;
#include <IE.au3>
#include <WindowsConstants.au3>
Local $sIP= "192.168.0.1"
Local $sURL = "http://" & $sIP & "/"

Local $hWnd = GUICreate("IE Embedded Windows", 1024, 716, 0, 0, BitOR($WS_SYSMENU, $WS_CAPTION, $WS_POPUP))
Local $oIE= _IECreateEmbedded()
$GUIActiveX = GUICtrlCreateObj($oIE, 0, 0, 1024, 700)
GUISetState()

_IENavigate($oIE, $sURL, 1)
Sleep(10*1000)
Exit

以上代码测试可以打开www.autoitx.com
无法打开http://192.168.0.1/
无法打开http://192.168.0.1
甚至试过添加hosts信息"192.168.0.1 www.autoitx.com".也无法通过www.autoitx.com打开内网路由web界面.

easefull 发表于 2011-5-4 16:02:27

在同一台电脑上使用以下代码
#include <IE.au3>
Local $sURL = "http://192.168.0.1/"
_IECreate($sURL)
Exit
以下测试均可以打开相应页面:
直接打开www.autoitx.com
直接打开http://192.168.0.1/
直接打开http://192.168.0.1
甚至试过添加hosts信息"192.168.0.1 www.autoitx.com".通过www.autoitx.com打开内网路由web界面.

wwwwffff 发表于 2011-5-5 18:11:24

平常用浏览器打开是不是要先登录??

easefull 发表于 2011-5-5 18:45:29

本帖最后由 easefull 于 2011-5-5 18:49 编辑

回复 3# wwwwffff

如果是手动操作,确实是需要管理员密码登录.
但使用内嵌IE的时候,直接就返回了一个取消页面了


请问是否有办法解决这问题?

easefull 发表于 2011-5-5 18:54:07

本帖最后由 easefull 于 2011-5-15 07:39 编辑

曾经也想过用http://user:pass@192.168.0.1登录的.
但使用IE手动测试的时候却直接显示语法错误.

但我明明记得很久以前我使用过这种格式登录http站点的.现在实在是搞不明白是什么回事了.

lpxx 发表于 2011-5-5 22:24:18

ftp://user:pass@192.168.0.1这样吧?

easefull 发表于 2011-5-5 23:50:49

回复 6# lpxx

是那格式.但路由上并没有开启ftp,只有web管理页面.所以我试着用http://user:pass@192.168.0.1结果在IE里面显示格式错误.
但我明明记得ftp://和http://都可以使用这种格式的,无奈了.

wwwwffff 发表于 2011-5-6 18:01:34

好像IE后来加了补丁,不能那样登录了

wwwwffff 发表于 2011-5-6 18:14:30

如果用其他浏览器比如FIREFOX就可以。

shinosky 发表于 2011-5-10 18:29:15

曾经也想过用登录的.
但使用IE手动测试的时候却直接显示语法错误.


但我明明记得很久以前我使用过这种 ...
easefull 发表于 2011-5-5 18:54 http://autoitx.com/images/common/back.gif


    这张图片里有你的密码啊。

auto 发表于 2011-5-10 20:48:09

具体问题,具体分析,可能要加上主页的名字和参数才打开

获取参数,试试后台登录和运行参数获取

easefull 发表于 2011-5-15 07:40:58

这张图片里有你的密码啊。
shinosky 发表于 2011-5-10 18:29 http://www.autoitx.com/images/common/back.gif

晕.原来除了地址栏有密码外,主窗口也有密码{:face (370):}

easefull 发表于 2011-5-15 07:43:04

回复 11# auto

都是直接访问地址(无论加不加具体页面地址),然后都是输入站点用户名密码的.貌似没发现什么参数.
至于后台登录,这个不会.是否能提示一下?

easefull 发表于 2011-5-15 07:46:34

回复 3# wwwwffff

我自己架了个web服务器测试后,发现这问题和内网无关,只和站点访问密码有关.
再次感谢您的提醒

auto 发表于 2011-5-15 10:36:35

回复auto

都是直接访问地址(无论加不加具体页面地址),然后都是输入站点用户名密码的.貌似没发现什么参 ...
easefull 发表于 2011-5-15 07:43 http://www.autoitx.com/images/common/back.gif

抓包或看登录页面的源代码。。。
应该是指向http://192.168.1.1/XX.XX之类的网页的
页: [1] 2
查看完整版本: [已解决]内嵌IE(_IECreateEmbedded)访问需要站点密码的网站的方法