python - Handling percentage sign in url -


i've got app processes requests. read variable holds pattern querying using % wildcard. if url contains patt=m% i'm fetching names starting m. worked fine till tried use %d0 search pattern. following error:

the given query string not processed. query strings resource must encoded 'utf8'.

as i've found out using https://www.w3schools.com/tags/ref_urlencode.asp, %d0 string being treated code non-unicode character.

now question is: how handle such patterns %d0? in other words: how treat 3 characters without encoding?

one workaround i've found far use %25 instead of %, using patt=%25d - i'd need handle requests.

edit: here's example. let's take basic cherrpy example tutorial. i've modified handle params , return value of myvar:

import cherrypy  class helloworld(object):     @cherrypy.expose     def index(self, **params):         #return "hello world!"         return cherrypy.request.params['myvar']   if __name__ == '__main__':     cherrypy.quickstart(helloworld()) 

once it's running may open url - default should start on http://localhost:8080/?myvar=blahblahblah

it opens page , returns myvar value: blahblahblah

now, try http://localhost:8080/?myvar=%d0

this cause error i'd prevent.

of course http://localhost:8080/?myvar=%25d0 works fine , shows %d0.

you can use quote method handle characters in url follows:

import urllib print urllib.quote("patt=m%") 

Comments

Popular posts from this blog

javascript - Clear button on addentry page doesn't work -

c# - Selenium Authentication Popup preventing driver close or quit -

tensorflow when input_data MNIST_data , zlib.error: Error -3 while decompressing: invalid block type -