簡體   English   中英

python Tornado獲取請求url

[英]python tornado get request url

這是我的代碼:

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write(self.request.url)

def main():
    settings = {"template_path": "html","static_path": "static"}
    tornado.options.parse_command_line()
    application = tornado.web.Application([
       (r"/story/page1", MainHandler),
        ],**settings)

我想得到字符串“/story/page1”。 如何 ?

您可以使用self.request.uriRequestHandler獲取當前 url :

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write(self.request.uri)

我認為你正在尋找的是self.request.path 查看可用於HTTPServerRequest

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write(self.request.path)

如果要訪問請求的整個 URL(協議 + 子域 + 域 + 路徑 + 查詢),請使用self.request.full_url() )。 它將返回,例如: https://myserver.com/profiles?id=115

如果要訪問 URI(路徑 + 查詢),請使用self.request.uri 例如,它會給出: /profiles?id=115

如果您只想訪問沒有查詢字符串的路徑,請使用self.request.path 它將給出,例如: /profiles

沒有任何方法可以讓您訪問完整的 URL,但您可以使用協議、主機和 uri 構建它,例如

url = '{}://{}{}'.format(self.request.protocol,self.request.host,self.request.uri)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM