Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 在webapp2的requesthandler中使用url编码_Python 2.7_Webapp2 - Fatal编程技术网

Python 2.7 在webapp2的requesthandler中使用url编码

Python 2.7 在webapp2的requesthandler中使用url编码,python-2.7,webapp2,Python 2.7,Webapp2,这是我到目前为止试过的代码 class MainPage(webapp2.RequestHandler): def get(self): self.response.headers['Content-Type'] = 'text/plain' self.response.write('Hello, World!') class Data(webapp2.RequestHandler): def get(self, url):

这是我到目前为止试过的代码

class MainPage(webapp2.RequestHandler):

    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, World!')

class Data(webapp2.RequestHandler):

    def get(self, url):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write(url)


app = webapp2.WSGIApplication([
    (r'/', MainPage),
    (r'/data/(.*$)', Data),
], debug=True)
如果我在chrome中打开此url:

http://127.0.0.1:8080/data/https://www.google.co.in/?gfe_rd=cr&ei=JAYsWerYJ8b08weOpqqAAQ&gws_rd=ssl

我得到了https://www.google.co.in/ 而不是:
https://www.google.co.in/?gfe_rd=cr&ei=JAYsWerYJ8b08weOpqqAAQ&gws_rd=ssl


我知道这一定很明显,但我找不到如何让它工作。

你能对url进行编码和解码吗?然后我建议使用类似
http://127.0.0.1:8080/data/https:%2F%2Fwww.google.co.in%2F%3Fgfe_rd=cr&ei=JAYsWerYJ8b08weOpqqAAQ&gws_rd=ssl
如果您这样编码,它将打印完整的url

import urllib

class Data(webapp2.RequestHandler):

    def get(self, url):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write(urllib.unquote(url))
如果可以的话,使用编码的url,然后用urrllib取消引用似乎可以解决问题