使用不允许在web.py变量中使用的字符获取post参数

时间:2015-06-26 09:25:00

标签: python web.py

我正在尝试将google reCaptcha集成到我的网站中,当我意识到提交时需要的POST参数有一个不合法的字符“例如减号操作符。

以下是项目的代码:

class apply:
    def POST(self):
        i = web.input()        

        print recaptcha2.verify("mySecretKey",i.g-recaptcha-response, "end user's ip")

我遇到的问题与g-recaptcha-response POST参数有关,以及它是如何使用python中的变量使用不合法的字符的变量。

有解决方法吗?

更新: 这是我面临的错误

的一个例子
Traceback (most recent call last):   File "C:\Python27\lib\site-packages\web\application.py", line 236, in process
    return self.handle()   File "C:\Python27\lib\site-packages\web\application.py", line 227, in handle
    return self._delegate(fn, self.fvars, args)   File "C:\Python27\lib\site-packages\web\application.py", line 409, in
_delegat e
    return handle_class(cls)   File "C:\Python27\lib\site-packages\web\application.py", line 384, in handle_c lass
    return tocall(*args)   File "C:\Users\Administrator\Desktop\Web App - Copy\bin\app.py", line 42, in P OST
    print recaptcha2.verify("mySecretKey", i.g-recaptcha-response, us_ip)   File "C:\Python27\lib\site-packages\web\utils.py", line 76, in \__getattr__
    raise AttributeError, k AttributeError: 'g'

myServerIP - - [27/Jun/2015 05:20:23] "HTTP/1.1 POST /apply_check" - 5 00 Internal Server Error

1 个答案:

答案 0 :(得分:0)

我能够通过在作为web.input()对象的变量中引用它来将POST数据作为g-recaptcha-response发送 e.g。

i = web.input()
i['g-recaptcha-response']