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

Getting post parameters with characters that are not allowed to be used in a variable with 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.[=14 的变量中使用是不合法的=]

有解决办法吗?

更新: 这是我面临的错误示例

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

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

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