PYTHON 验证码服务程序代码

来源:互联网 发布:淘宝店小景家nancy 编辑:程序博客网 时间:2024/06/05 03:53
import os
os.chdir('D:\pytesser_v0.0.1')
#os.chdir('/data/webPyService/pytesser_v0.0.1')
from pytesser import *
import web
import base64
import StringIO
import math
import Image
import cStringIO
import urllib2
import re
import io
urls = ("/.*","getVerifyCode")
app = web.application(urls,globals())
class getVerifyCode:
def GET(self):
i = web.input() 
img_content = i.get('img_content')
img_format = i.get('img_format')
char_length = i.get('char_length')
_char_length = int(char_length)
char_type = i.get('char_type')
variable = i.get('variable')
_variable = str(variable)
variable_length = i.get('variable_length')
_variable_length = 0
if _variable == 'true':
_variable_length = int(variable_length)
temp = _char_length
if _char_length < _variable_length:
_char_length = _variable_length
_variable_length = temp
con = str(img_content)
con = con.replace(' ','+')
print base64.decodestring(con )
img = Image.open(io.BytesIO(base64.decodestring(con )))
text = image_to_string(img)
text = text.strip()
text = text.replace(' ','')
text = text.replace('<','')
text = text.replace('>','')
text = text.replace(')','')
text = text.replace('(','')
print '########text########text########text####'
print text
print '########text########text########text####'
text1 = text[0:_char_length]
text2 = text[0:_variable_length]
reg1="[0-9]{"+str(_char_length)+"}"
reg2="[a-zA-Z]{"+str(_char_length)+"}"
reg3="[0-9a-zA-Z]{"+str(_char_length)+"}"
reg11=reg1
reg22=reg2
reg33=reg3

if 'true' == _variable : 
reg11="[0-9]{"+str(variable_length)+"}"
reg22="[a-zA-Z]{"+str(variable_length)+"}"
reg33="[0-9a-zA-Z]{"+str(variable_length)+"}"
reg=""
if char_type == '1':
reg=reg2
elif char_type == '2':
reg=reg1
else:
reg=reg3

an=re.findall(reg,text1)

if an :
text = text1;
print '########an########an########an####'
print an
print '########an########an########an####'
else:
if _variable == 'true':
if char_type == '1':
reg=reg22
elif char_type == '2':
reg=reg11
else:
reg=reg33
an=re.findall(reg,text2)
if an :
text = text2;
print '########an2########an2########an2####'
print an
print '########an2########an2########an2####'
print '########reg########reg########reg####'
print char_type
print reg
print an
print '########reg########reg########reg####'
success = 1
char_code = ""
orig_code = ""
if an:
success = 1
char_code = text
print char_code
else:
success = 0
orig_code = text
print text
return '{success:'+str(success)+',char_code:'+str(char_code)+',orig_code:'+str(orig_code)+'}';
if __name__ == "__main__":
app.run()
0 0
原创粉丝点击