By default, characters in args that do not match the '[^\w/.@=-]' regular expression are replaced with underscores. To override that behavior, there are two options:
1. In routes.py, set routes_apps_raw to a list of applications that will handle their own args parsing. In those apps, the entire args part of the URL (everything in path_info after /app/controller/function) will be available in request.raw_args, and you will have to parse it yourself. 2. Use the parameter-based rewrite system and specify args_match to suit your needs (the default args_match regex is '([\w@ =-]|(?<=[\w@ -])[.])*$'. Anthony On Thursday, October 19, 2017 at 1:30:09 PM UTC-4, Francisco Ribeiro wrote: > > Hi, > > I have found that when I do request.args(), colons ':' even when properly > URL encoded become an underscore '_' . > > def echo(): > print request.args(0) > return dict() > > A request http://.../echo/%a_ will become : > __ > > which prevents me from distinguishing one from another. > > Am I missing something? shouldn't request.args() take care of URL encoding > / decoding for me? > > Thank you > Kind regards, > Francisco Ribeiro > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.