写了个CMCC无线网络自动登录的程序

        有了这东东,以后就不用老是打开CMCC的登录页面,然后输入长长的账号来登录了!只需要随机启动,在图标右键选中Login即可,而且还有辅助计时功能。因为我用的是20元包月200小时,用超了就不好了~

       

 

哈哈~  方便多了~~

 

在广州大学城使用CMCC无线网络的同学可以下载来玩玩:

cmcc

 

下面说说工作原理:

要登录的话,可真不容易,我一开始也没有想到会绕这么多弯子。

首先,随便打开一个网页,例如www.google.com.tw,然后会被自动重定向到CMCC的登录页面,重定向的URL信息包含了一些参数,具体作用不清楚,但是都要使用到,所以要保存下来。

HTTP/1.1 302 Moved Temporarily
Server: Http Redirect Server/1.0
Author: wios@motorola.com
Location:http://221.179.9.18:8080/bpss/login.jsp?wlanacname=2104.0020.200.00&wlanuserip=172.19.175.10&wlanacip=211.136.218.154
Content-Type: text/html
 

然后把这些参数信息,提交到/bpss/index.jsp这个页面去。随后才返回一个可用的登录页面!直接把账号写到POST的数据里,提交到/bpss/jsp/do_login.jsp去,如果返回一个重定向到index.jsp的html就表示登录成功了,否则就失败。

注销也比较麻烦,注销的时候直接访问/bpss/jsp/do_logout.jsp是不行的,需要一堆特殊的参数。这些参数在登录成功的页面里提供,所以我是直接在登陆成功后返回的数据中提取了这些参数数据了。

/bpss/jsp/do_logout.jsp?logouttype=url&LOGINIP=172.19.175.10&LOGINNAME=1581331****&DEVICEID=2104.0020.200.00&

WLANDIG=vIBqd30trA3TkBrWJB35kA==&WLANSID=EC6E926ECD8CFBC357C08115C882144C

 

贴一下关键代码:


Private Sub mnuLogin_Click()
    If tmrLogin.Enabled Then
        MsgBox "你已经登录过了吧 -_-!", vbExclamation
        Exit Sub
    End If
    If chkRemember.Value = Checked Then
        SaveAccount Me.txtAccount.Text, Me.txtPassword.Text
    Else
        SaveAccount "", ""
    End If
    LoginProcess = 0
    Inet1.Execute "http://www.baidu.com", "GET"
End Sub


Private Sub Inet1_StateChanged(ByVal State As Integer)
    Dim url As String, data As String
    If State = 12 Then
        Dim s As String
        s = Inet1.GetChunk(1024 * 16)
        Select Case LoginProcess
        Case 0:
            Dim wlanuserip As String, wlanacname As String, wlanacip As String
            wlanuserip = GetValue(s, "wlanuserip" & Chr(34) & " value=" & Chr(34), Chr(34))
            wlanacname = GetValue(s, "wlanacname" & Chr(34) & " value=" & Chr(34), Chr(34))
            wlanacip = GetValue(s, "wlanacip" & Chr(34) & " value=" & Chr(34), Chr(34))
            If wlanuserip = "" Or wlanacname = "" Or wlanacip = "" Then
                MsgBox "你已经可以使用网络了,无须登录CMCC -_-! ", vbExclamation
                Exit Sub
            End If
            LoginProcess = 1
            url = "http://221.179.9.18:8080/bpss/index.jsp"
            data = "wlanuserip=" & wlanuserip & "&wlanacname=" & wlanacname & "&wlanacip=" & wlanacip
            Me.Inet1.Execute url, "POST", data, "Content-Type: application/x-www-form-urlencoded"
        Case 1:
            url = "http://221.179.9.18:8080/bpss/jsp/do_login.jsp"
            data = "bpssUSERNAME=" & Me.txtAccount & "&bpssLoginType=1&bpssBUSPWD=" & Me.txtPassword & "&bpssSMSRND=" & Me.txtPassword & "&x=40&y=11"
            Me.Inet1.Execute url, "POST", data, "Content-Type: application/x-www-form-urlencoded"
            LoginProcess = 2
        Case 2:
            url = GetValue(s, "('/bpss/jsp/do_logout.jsp", "'")
            If url = "" Then
                MsgBox "登录失败 -_-! ", vbCritical
                Exit Sub
            End If
            LogoutUrl = url
            startTime = Now
            Me.Hide
            Beep
            Me.tmrLogin.Enabled = True
        End Select
    End If
End Sub
 

Private Sub mnuLogout_Click()
    If LogoutUrl <> "" Then
        'LoginProcess = 3
        Inet1.OpenURL "http://221.179.9.18:8080/bpss/jsp/do_logout.jsp" & LogoutUrl
        Beep
    Else
        MsgBox "你还没有登录吧 -_-!", vbExclamation
    End If
    tmrLogin.Enabled = False
    LogoutUrl = ""
End Sub

写了个CMCC无线网络自动登录的程序》上有56条评论

  1. Kiming

    是的!
    你说略懂 不经让我想起了 越光宝盒的诸葛亮 什么都是略懂略懂

    C还是特别懂吧!!

    回复
  2. 小强

    我喜欢这软件!!!能加我qq吗???qq8481767!!!能把图标换一下吗????文字能换中文的不???电信和联通的能连接不????固定宽带能连接不???你这是安装包吗???

    回复
  3. 键348454823

    大帝,我总算找到你了,我女友在佛山,她用的就是cmcc,但是,请看:(这是我在百度知道的提问)
    机子是z460 网卡是althos的 无线网络是中移动的cmcc
    全宿舍都能用cmcc畅顺上网,就我的不太行!
    症状:无线网络那里已经连接上cmcc,信号非常好,但在浏览器进入登陆页面时,每次起码刷新20次才能进入那个输入手机号码和密码的登陆页面(有时是页面出来了,可是不能输入,就是按那个输入的框框没反应,打不了字上去)。终于登录后,总是掉线,上个qq,一小时至少掉线5次!但其他人没事啊!
    我已经采取的措施:更新无线网卡及网卡驱动。无线网卡属性~常规~TCP协议属性已经选择自动获得ip。尝试连接由无线路由器发射出的无线网络(宽带adsl)~是ok的。
    但都解决不了cmcc上网的问题啊!

    回复
    1. Xiaoxia 文章作者

      你提到的问题很诡异,但是我可能帮不上忙。CMCC采用的是网页认证,你可以先连接上,然后试试ping一下这个IP地址221.179.9.18。你可以把结果贴上来,如果延时很小,无丢包,则说明不是硬件问题,有可能是操作系统配置有问题,否则就是硬件或者硬件驱动不兼容。
      仅供参考!

      回复
  4. 键348454823

    如果你知道解决方法,请联系我吧,万分感谢啊!!我也20,广警的。如果你不知道,可不可以帮我问问啊?谢谢了~~~!
    Q:3484548**
    email:jian3484548**@163.com

    回复
  5. lianyu

    哈哈,虾哥,这个CMCC的是有客户端下载的,不用在网页上登录,我学校的CMCC还是免费的,到时收费合理的话我也开个套餐

    回复
  6. 野兔

    小虾,你好!
    我一名中专学生,对游戏编程比较感兴趣
    但一直不知从何下手。
    看到你写的游戏后感觉你狠厉害
    所以来问下你对初学者有什么建议吗?
    谢谢

    回复
    1. Xiaoxia 文章作者

      你留言的地方搞错了???你是说哪个游戏???什么类型的游戏???
      你学游戏编程的???

      回复
      1. 野兔

        不好意思,我不知道在哪留言。就是那个集钻石游戏。我下了你的源代码,在c free下编译,不过提示说缺少 allegro.h 我查了下,不过关于allegro的信息蛮少的。可以告诉怎么使用那个库吗?谢谢

        回复
    1. Xiaoxia 文章作者

      现在cmcc的系统更新了,应该不能使用了吧?因为这个软件我也很久没有更新了。

      回复
      1. darren

        麻烦您 源码发给我哈。。。。
        我想参考下,虽然我不懂VB。。。
        有时间用C++给写个么!

        谢谢啦!

        回复
        1. Xiaoxia 文章作者

          这篇文章有下载链接呀,里面有源代码的,是vb写的。
          如果你了解了http协议,你也可以写一个的。
          用python写应该蛮简单的~~~

          回复
  7. 山巅浪人

    wlanacip是DNS,wlanuserip获取的IP,但是wlanacname 这个参数是什么,如何获得这个参数?不会VB,没看明白你的代码

    回复
    1. Xiaoxia 文章作者

      我当时没有研究过这些参数的含义。只是根据正常的登录流程发送http请求。
      Sorry for my VB代码。

      现在很少用Win7,所以现在如果我有需要的话,可能会用python写一个。另外可能用java写一个给手机用,哈哈!

      回复
  8. xc

    我是来挖坟的~~哈哈 看你以前的文章,真是大牛啊!

    以前写了个江苏CMCC-EDU的登录程序,不过是易语言。。。

    等闲下来了想学python了~~

    回复

扑愣进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>