2010-05-04 20 views
23

jak byłoby uzyskać bieżący URL z Pythona,Pobiera aktualny adres URL w Pythonie

muszę pobrać aktualny adres URL, więc można to sprawdzić za sznurki zapytań np

requested_url = "URL_HERE" 

url = urlparse(requested_url) 

if url[4]: 
    params = dict([part.split('=') for part in url[4].split('&')]) 

też to działa w Google App Engine

Odpowiedz

51

Spróbuj tego:

self.request.url 

Ponadto, jeśli wystarczy ciągu kwerendy, to będzie działać:

self.request.query_string 

I wreszcie, jeśli wiesz, że zmiennej ciągu kwerendy, którego szukasz, możesz to zrobić:

self.request.get("name-of-querystring-variable") 
+0

self.request.query_string działa wspaniale dzięki – Alex

0

Spróbuj

import os 
url = os.environ['HTTP_HOST'] 
+1

wydaje się ignorować wszelkie ciągi zapytań jak to chwytając tylko URL hosta: ParseResult (schemat = 'localhost', netloc = '', ścieżka = '8080', params = '', zapytanie = '', fragment = '') – Alex

3

Dla każdego ze znalezieniem tego poprzez google,

i zorientowaliśmy się,

można uzyskać ciągi zapytań na temat aktualnej żądanie przy użyciu:

url_get = self.request.GET 

który jest UnicodeMultiDict swoich ciągów zapytań!

+0

Tak, na ogół chcesz używać narzędzi dostarczone przez twój framework i nie ręcznie analizować adresów URL; to jest rozwiązany problem. – geoffspear

0

nie mogłem uzyskać inne odpowiedzi do pracy, ale tutaj jest to, co pracował dla mnie:

url = os.environ['HTTP_HOST'] 
    uri = os.environ['REQUEST_URI'] 
    return url + uri 
Powiązane problemy