IdHTTP 获取须经 windows网络认证的页面的页面代 ( 积分: 100 )

  • 主题发起人 主题发起人 天狼海东青
  • 开始时间 开始时间

天狼海东青

Unregistered / Unconfirmed
GUEST, unregistred user!
某些站点采用非匿名访问机制(一般为内部站点),在访问时会出现‘输入网络密码’的登录框,那么当我拥有用户名和密码时,如何在程序中用IdHTTP来获取登录后的页面代码。
在telnet中作如下试验可得到返回的页面代码
c:>telnet 站点 端口
Get 页面
Authorization: Basic 加密的用户名和密码
那位大侠有做过这方面的东东,还望赐教。
另:愿Indy方面的高手们共同交流一下
 
某些站点采用非匿名访问机制(一般为内部站点),在访问时会出现‘输入网络密码’的登录框,那么当我拥有用户名和密码时,如何在程序中用IdHTTP来获取登录后的页面代码。
在telnet中作如下试验可得到返回的页面代码
c:>telnet 站点 端口
Get 页面
Authorization: Basic 加密的用户名和密码
那位大侠有做过这方面的东东,还望赐教。
另:愿Indy方面的高手们共同交流一下
 
一个回复的都没有,连分都送不出去了。
 
GET的用法
IDHTTP.GET('http://*****/**.ASP?USR=用户名&PWD=密码&');
Post的用法
TRY
PARALIST:=TSTRINGLIST.CREATE;
PARALIST.ADD('USR=用户名');
PARALIST.ADD('PWD=密码');
IDHTTP.POST('http://******/******.ASP',PARALIST);
FINALLY
FREEANDNIL(PARALIST);
END;
 
直接在IDHTTP里面设置用户和密码,然后用get就行了,post也可以
用户和密码可以在Request下设置
设置好了之后其实跟不用验证得使用方法一样
 
To datm: 这应该是在页面认证情况下常采用的方法,对于网络认证的好像不通,
尤其是 Get 方法,一般不会将用户名和密码显示出来吧。

To constantine:你的方法在get情况下是正确的,和我做的基本一样,但不知POST下
应如何实现,我一直未能解决,可否用简单的代码描述一下。

还想请教,这种网络认证的站点怎样从外部直接登录,也就是说在程序中直接用IE打开登录后的页面。
 
自己再顶一下
 
好像不是这样子的吧,没有这么简单,捕个成功登陆的包看看结构呢
 
多人接受答案了。
 
后退
顶部