谷歌为樱桃做的总结

marbaloo_recaptcha的Python项目详细描述


Google ReCaptcha樱桃色。

安装

pip install marbaloo_recaptcha

用法

# app.py
import cherrypy
import marbaloo_recaptcha
cherrypy.tools.recaptcha = marbaloo_recaptcha.Tool()


class Root(object):

    @cherrypy.expose
    def index(self, **kwargs):
        recaptcha = cherrypy.request.recaptcha
        if 'submit_recaptcha' in kwargs:
            if recaptcha.verify():
                return 'Success'
            else:
                return 'Fail'
        else:
            return '''
            <head>
                %s
            </head>
            <body>
                <form method="post">
                    %s
                    <input type="submit" name="submit_recaptcha"/>
                </form>
            </body>
            ''' % (recaptcha.get_html_head(), recaptcha.get_html_field(enable_no_script=True))

config = {
    'global': {
        "server.socket_host": "0.0.0.0",
        "server.socket_port": 9095,
    },
    '/': {
        'tools.recaptcha.on': True,
        'tools.recaptcha.remoteip': '',
        # For production level, uncomment this lines
        # 'tools.recaptcha.secret_key': 'MY_SECRET_KEY',
        # 'tools.recaptcha.site_key': 'MY_SITE_KEY',
    }
}
cherrypy.quickstart(Root(), '/', config)

高级用法:

import cherrypy
import marbaloo_recaptcha
cherrypy.tools.recaptcha = marbaloo_recaptcha.Tool()


class Root(object):

    @cherrypy.expose
    def index(self, **kwargs):
        recaptcha = cherrypy.request.recaptcha
        if 'submit_recaptcha' in kwargs:
            if recaptcha.verify():
                return 'Success'
            else:
                return 'Fail'
        else:
            return '''
            <head>
                %s
            </head>
            <body>
                <form method="post">
                    %s
                    <input type="submit" name="submit_recaptcha"/>
                </form>
            </body>
            ''' % (recaptcha.get_html_head(defer=True,
                                           async=True,
                                           render='onload',
                                           onload='my_onload_javascript',
                                           hl='fa'),
                   recaptcha.get_html_field(data_attributes={
                                                                'data-theme': 'dark',
                                                                'data-size': 'compact',
                                                                'data-type': 'image'
                                                            },
                                            enable_no_script=True))

config = {
    'global': {
        "server.socket_host": "0.0.0.0",
        "server.socket_port": 9095,
    },
    '/': {
        'tools.recaptcha.on': True,
        'tools.recaptcha.remoteip': '',
        # For production level, uncomment this lines
        # 'tools.recaptcha.secret_key': 'MY_SECRET_KEY',
        # 'tools.recaptcha.site_key': 'MY_SITE_KEY',
    }
}
cherrypy.quickstart(Root(), '/', config)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
为什么4%8等于4?   java通知显示日期   用于IntelliJ 14.1.3的java JBoss 5.1插件   带有空单元格的用户界面Java gridlayout   在Android上解压缩RAR文件时发生java OutOfMemoryError   java来存储百万长度的百万密钥,红黑树和基数树哪个更好?   java缺少openfaces树表的js   java Spring AuthenticationFailureHandler和WebSecurityConfigureAdapter登录页面()   在Android Java中,如何使用JSON数组调用这个嵌套JSON   java如何在Vaadin文本字段中呈现html内容   java迭代枚举的枚举   AmazonWeb服务如何使用JavaSDK将新EBS卷附加到现有EC2实例?   当构造函数中的局部变量和实例变量相同时,java调用clone()是一个很好的选项   javafx Media player,带有java接口   java多语言应用程序问题   java让两个JFrame相互通信   Javasocket类强制转换异常   java为什么递归调用下面的代码被处理多次(当基本情况为true时)?   变量Java系统。getEnv()