2012-06-11 9 views
33

Ich habe einen Blick auf urlparse.urlparse Methodendokumentation und ich bin ein wenig verwirrt darüber, was ist der parameters Teil (nicht mit dem bekannteren query Teil zu verwechseln, das ist was nach dem Fragezeichen und vor dem Fragmentteil geht).Wie lauten die URL-Parameter? (Element an Position # 3 in urlparse Ergebnis)

Wikipedia-Eintrag auf URL-Struktur sagt nichts darüber, so könnte bitte jemand ein wenig darüber zu erarbeiten und möglicherweise einige Beispiele geben?

Antwort

19

faszinierend, ist dies das erste Mal, dass ich sie treffen haben, diese
fand ich fand auch dieses http://tools.ietf.org/html/rfc3986#section-3.3 (letzter Absatz vor Abfrage) und diese http://www.jtmelton.com/2011/02/02/beware-the-http-path-parameter/

ihre selten verwendet, ich glaube, Sie sollten bestimmte Eigenschaften an Pfade anhängen. Vielleicht sogar steuern, welche Version des Segments Sie verwenden möchten, aber das ist nur eine Ahnung ... oder so vielen Dank, für das Heraufbringen.

+1

FYI Eine Handvoll Systeme "URL-Parameter" verwenden für Sitzungs-IDs (anstelle von Cookies oder Abfragezeichenfolgen). Apache's Jetty macht das mit '; jsessionid = HEXCODE' und Amazon hat das gemacht. –

27

Wow ... war ich davon nicht bewusst, siehe Beispiel:

>>> 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') 

Und Hilfe (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.