您的位置:首页 > 编程语言 > Python开发

python 模拟ef登录过程

2014-06-29 19:01 441 查看
  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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: