python 模拟ef登录过程

  ef英语登录,简单的一个 网页。没有验证码。登录链接如下:

http://www.ef.com.cn/partner/englishcenters/cn


按照网上的一个模版来写ef 登录过程:

http://www.ef.com.cn/partner/englishcenters/cn


通过wiareshark抓包分析,查看ef登录过程数据流交换跟这个有很大的差距。


好像只有一个http 协议的get操作,并且url是:

http://www.ef.com.cn/login/handler.ashx?sGoLVFJqFaPhTdqxYczULL237yUIbiadW++Ny78xbjm3qTB+BI428SsGmOXv5OcKtDTD4h7KYnphLyTUf1b2gt+bBRR9jtzjs/Ik+212W+ZPfRZkKokbtUCG9XGjg+R26nfe2h4dnPAIiKAwrwpCa66wd8ea2TQ83ZX08ctvrWMHBwFsMBDRnHio6B8QxbUmDhBvAf4BPj+1u+0Y4RkjijKd0rTGWWFyGHMdzRZYAWJp8u7TZLMEitWVECkNg7qN6wbC1BCKy5tqOpYcbDuPDmdaAYqIt/yX1dRd3UsWu6wVrNlXOyd56CCQNkKPoI1bf0f3eQQnR8/EqFG23CueLkvX2oMmlRXbh767T6w6IAFRmccuFWt23MTG9BmsOBLLigTigR1rcvM5i8qxcOVlD+PGT3OxEBHQm5o0SaS/lFcAa1XfVrfL3upSawiDgKwTrEtLHBQE637eVaDrtwkDLoj14VJJevXIXZNohIMDSL3dik5Uia33+o2ZkABSx2Sg5lYJKm3I3ipNQ7PFOsy0VsAj7zFz8mWA4ywu+EAH9n7apIA45eFfH4E3bznso+h4CxhHR6WTc8faB6kFbkO46UWh8eWwLs0eRm8fuWbp+Oo=

其request type 是:get

request url是:login/handler.ashx?sGoLVFJqFaPhTdqxYczULL237yUIbiadW++Ny78xbjm3qTB+BI428SsGmOXv5OcKtDTD4h7KYnphLyTUf1b2gt+bBRR9jtzjs/Ik+212W+ZPfRZkKokbtUCG9XGjg+R26nfe2h4dnPAIiKAwrwpCa66wd8ea2TQ83ZX08ctvrWMHBwFsMBDRnHio6B8QxbUmDhBvAf4BPj+1u+0Y4RkjijKd0rTGWWFyGHMdzRZYAWJp8u7TZLMEitWVECkNg7qN6wbC1BCKy5tqOpYcbDuPDmdaAYqIt/yX1dRd3UsWu6wVrNlXOyd56CCQNkKPoI1bf0f3eQQnR8/EqFG23CueLkvX2oMmlRXbh767T6w6IAFRmccuFWt23MTG9BmsOBLLigTigR1rcvM5i8qxcOVlD+PGT3OxEBHQm5o0SaS/lFcAa1XfVrfL3upSawiDgKwTrEtLHBQE637eVaDrtwkDLoj14VJJevXIXZNohIMDSL3dik5Uia33+o2ZkABSx2Sg5lYJKm3I3ipNQ7PFOsy0VsAj7zFz8mWA4ywu+EAH9n7apIA45eFfH4E3bznso+h4CxhHR6WTc8faB6kFbkO46UWh8eWwLs0eRm8fuWbp+Oo=


这个过程中没有看出哪一步是传送 登录的用户名和密码的? 难道是用户名和密码加密之后放在request url 后面的一长串数字里面了?

python 脚本如下:

#coding: gbk 
import httplib, urllib 
import sys

def Check(username, password):
	params = urllib.urlencode({'userid': username, 'passwd': password})
	headers = {"Content-type": "application/octet-stream"}
	conn = httplib.HTTPSConnection("www.center.ef.com.cn")
	print conn

	conn.request("GET", "/login/handler.ashx?", params, headers)

	res = conn.getresponse().read() 
	print res

temp = sys.stdout
sys.stdout = open('1.txt','w')
Check("aaaa","123456");

执行的时候总是得到一个  Traceback ,也就是在 request操作出现崩溃现象。

Traceback (most recent call last):
  File "33.py", line 18, in <module>
    Check("xsuc64","123456");
  File "33.py", line 11, in Check
    conn.request("GET", "/login/handler.ashx?")
  File "A:\Program Files\python2.7\lib\httplib.py", line 958, in request
    self._send_request(method, url, body, headers)
  File "A:\Program Files\python2.7\lib\httplib.py", line 992, in _send_request
    self.endheaders(body)
  File "A:\Program Files\python2.7\lib\httplib.py", line 954, in endheaders
    self._send_output(message_body)
  File "A:\Program Files\python2.7\lib\httplib.py", line 814, in _send_output
    self.send(msg)
  File "A:\Program Files\python2.7\lib\httplib.py", line 776, in send
    self.connect()
  File "A:\Program Files\python2.7\lib\httplib.py", line 1157, in connect
    self.timeout, self.source_address)
  File "A:\Program Files\python2.7\lib\socket.py", line 571, in create_connectio
n
    raise err
socket.error: [Errno 10060]








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值