2012-06-11 1 views
33

urlparse.urlparseメソッドのドキュメントを見て、parametersの部分がちょっと混乱しています(これは、より使い慣れたqueryの部分と混同しないでください)。疑問符の後で断片部分の前に来るもの)。URLパラメータは何ですか? (urlparseの結果の位置#3の要素)

URLの構造に関するWikipediaのエントリーはそれについて何も言わないので、誰かがこれについてちょっと詳しく説明し、いくつかの例を挙げることができますか?

答えて

19

魅力は、これは私が彼らに遭遇したのは初めてで、この
た私も、この http://tools.ietf.org/html/rfc3986#section-3.3(クエリの前に最後の段落)を発見し、この http://www.jtmelton.com/2011/02/02/beware-the-http-path-parameter/

は、彼らのほとんど使用されません、私は思いますそれらはパスに特定のプロパティを添付することを意図しています。多分あなたが使用したいセグメントのバージョンを制御することができますが、これはちょうど勘違いです... いずれかの方法で、持ち上げていただきありがとうございます。

+1

FYIシステムの一握りは、 "URLパラメータ" を使用します(クッキーまたはクエリ文字列の代わりに)セッションIDのために。 ApacheのJettyは '; jsessionid = HEXCODE'でこれを行い、Amazonはこれを使用していました。 –

27

うわー...私はそれに気づいていなかった、例を参照してください。

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

とヘルプ(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. 
関連する問題