使用不允许在具有 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']
我正在尝试将 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']