2012-06-11 21 views
33

Zapoznałem się z dokumentacją metodyki urlparse.urlparse i jestem trochę zmieszany co do części parameters (nie mylić z bardziej znaną częścią query, czyli co dzieje się po znaku zapytania i przed częścią fragmentu).Jakie są parametry adresu URL? (element na pozycji # 3 w wynikach urlparse)

Wpis w Wikipedii na temat struktury adresu URL nic o tym nie mówi, więc może ktoś się na tym trochę zastanowić i ewentualnie podać kilka przykładów?

Odpowiedz

19

fascynująca, jest to pierwszy raz, kiedy spotykamy je, uznał ten
Znalazłam też to http://tools.ietf.org/html/rfc3986#section-3.3 (ostatni akapit przed zapytania) i ten http://www.jtmelton.com/2011/02/02/beware-the-http-path-parameter/

ich rzadko stosowane, myślę ich celem było dołączenie pewnych właściwości do ścieżek. Może nawet kontrolować, której wersji segmentu chcesz użyć, ale to tylko przeczucie ... w jedną stronę dziękuję, za to.

+1

FYI Garść systemów użyje "Parametry URL" dla identyfikatorów sesji (zamiast plików cookie lub ciągów zapytań). Molo Apache'a robi to za pomocą '; jsessionid = HEXCODE', a Amazon używał tego. –

27

Wow ... I nie był świadomy, że patrz przykład:

>>> urlparse.urlparse("http://some.page.pl/nothing.py;someparam=some;otherparam=other?query1=val1&query2=val2#frag") 
ParseResult(scheme='http', netloc='some.page.pl', path='/nothing.py', params='someparam=some;otherparam=other', query='query1=val1&query2=val2', fragment='frag') 

i pomoc (urlparse.urlparse):

Help on function urlparse in module urlparse: 

urlparse(url, scheme='', allow_fragments=True) 
    Parse a URL into 6 components: 
    <scheme>://<netloc>/<path>;<params>?<query>#<fragment> 
    Return a 6-tuple: (scheme, netloc, path, params, query, fragment). 
    Note that we don't break the components up in smaller bits 
    (e.g. netloc is a single string) and we don't expand % escapes.