python一个带验证码登录的实例
来源:互联网 发布:博途软件 编辑:程序博客网 时间:2024/05/16 15:24
import cookielib
import urllib
import urllib2
import re
from ghost import Ghost
import sys
import webbrowser
import os
import imghdr
IP = '127.0.0.1'
PORT = '8080'
MAIN_INDEX_URL = 'http://'+IP+':'+PORT+'/testRon/login/logon.jsp'
LOGIN_URL = 'http://'+IP+':'+PORT+'/testRon/LoginServlet'
GETDATA_URL = 'http://'+IP+':'+PORT+'/testRon/login/getdata.jsp'
GETDATA_CLICK_URL = 'http://'+IP+':'+PORT+'/testRon/login/getdataclick.jsp'
IMAGE_URL = 'http://'+IP+':'+PORT+'/testRon/imageServlet'
class UserAction(object):
def __init__(self, username, password):
self.username = username
self.password = password
self.cj = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj))
urllib2.install_opener(opener)
def login(self):
req = urllib2.Request(IMAGE_URL)
page1=urllib2.urlopen(req)
my_picture = page1.read()
filename = imghdr.what("",my_picture)
print filename
filename = "my_image."+filename
print filename # test
fout = open(filename, "wb")
fout.write(my_picture)
fout.close()
webbrowser.open(filename)
random=raw_input("please handin random:")
rpassword = self.get_rpassword(self.password)
login_params = {
'username': self.username,
'password': rpassword,
'randomCode':random
}
req = urllib2.Request(LOGIN_URL, urllib.urlencode(login_params), {
"Referer": MAIN_INDEX_URL})
res=urllib2.urlopen(req)
result = res.read()
strStr1=""
for cookie in self.cj:
strStr1+=cookie.name
strStr1+="="
strStr1+=cookie.value
strStr1+=";"
print strStr1
ghost = Ghost()
#open webkit
headers = {
"Cookie": strStr1
}
ghost.open(GETDATA_URL,'get',headers)
result, resources = ghost.evaluate("document.getElementById('password').value;")
print result
ghost.open(GETDATA_CLICK_URL,'get',headers)
result, resources = ghost.evaluate("document.getElementById('textspan').innerHTML;")
print result
result, resources = ghost.evaluate("document.getElementById('button1').click('xcvxc');")
result, resources = ghost.evaluate("document.getElementById('textspan').innerHTML;")
print result
def get_rpassword(self,password):
return password
if __name__ == '__main__':
ua = UserAction(username = 'admin',password = 'admin')
ua.login()
- python一个带验证码登录的实例
- python带验证码登录
- 带验证码的Flex登录窗口实例代码
- 一个Python从页面下载验证码的实例,带自动识别图片格式
- 新作的一个bootstrap 登录框,带验证码,带校验~!
- Ext 带验证码的登录表单
- JSP带验证码的登录实现
- 带图形验证码的登录模块
- 登录功能的开发(带验证码)
- 带验证码的页面登录
- Python爬虫模拟登录带验证码网站
- 用flash builder4做一个带验证码的用户登录框
- 一个很好的ajax入门小实例,用户登录验证
- 一个非常实用的带验证码的模拟登陆实例
- 一个非常实用的带验证码的模拟登陆实例
- SSM带验证码登录
- 使用C#登录带验证码的网站(转)
- 使用C#登录带验证码的网站
- xe Tpath
- cocos2d-js 3.0 RC0 手动绑定 C++调用js,js调用C++ jsbinding
- iOS8地图点击标注显示详细信息(医药吧数据)
- Logistic Regression 基础
- VS2010 安装部署中的卸载
- python一个带验证码登录的实例
- ASP.NET MVC3中的多路由系统(Routes)
- Instruments使用实战
- XE :IOUtils单元TDirectory的其他功能
- Hadoop 学习第三天之集群安装(上)
- EF导航属性,Include
- 你所不知到的C++ 之 宏的用法
- Map集合
- Performance Schema ---Sys56工具