利用Java实现电信宽带上网的Web 认证---1. 原理

一直使用南京电信的小区10M宽带上网. 去年开始,南京电信就开始使用华为的Web认证.
这个系统比较奇怪, 在网页上放了一个ActiveX,但是这个ActiveX的唯一目的,似乎就是为了得到Local IP.
如果只是这个目的的话(现象上看也没有和MAC地址绑定之类的功能), 就完全没有必要了,HTTP Header上就已经可以得到Client IP 了. 

昨天突然发现, Web认证的服务器升级了,导致我原来用的一个Java自动认证的程序不能用了, 怎么办呢, 反正是走的HTTP协议,让我来分析一下Client / Server之间HTTP通讯的具体内容吧.

 所用工具:

    1. HTTP Analyzer : 用来分析HTTP通讯的内容, 非常方便. 这次用的是一个以前得到的版本,v1.5
    2. Eclipse 3.1 : 用来写我的Java Code, and Debug.

通过分析,发现一次成功的Web认证,主要有三次HTTP通讯.(见图1), 其中,
Request 1: 主要取得一个Session ID,就是Cookie中的JSESSIONID
Request 2: 可以忽略.
Request 3:做实际的Web认证操作,发送这个Request的时候,要注意两点:

1. Request Header中的Cookie信息中,需要包含Request-1中得到的Session ID,具体参考图2
2. Request Post data中,需要包含认证的用户名和密码等, 具体Post的data请参考图3

实际的Java Source code,就留待下回分解吧.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值