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

PYTHON 验证码服务程序代码

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