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.

Reply via email to