2015年3月22日日曜日

requestsでurlに同一キーの複数パラメータを付与する方法

pythonのrequestsモジュールはこういうめんどくさい人たちに比べてかなり使い勝手がいい。
でもでも、urlのパラメータをdictで指定する(参考)ため、同一キーのパラメータは指定不可能
だと思っていた。

で、もやもやしている日曜の早朝に、

\  __  /
_ (m) _  ピコーン
   |ミ|
/ `´  \
  ( ゚∀゚)
 ノヽノ |
  < <
ってなって、実際に試してみたら、出来たので、共有がてら。

結論から言うと、配列で渡せばいい。

例)
    query = {
        'hoge': 'hoge1',
        'huga': ['huga1','huga2']
        'fuge': True
    }
    r = requests.get('http://testhost/test.json', params=query)
    orint r.url
    >>u'http://testhost/test.json?hoge=hoge1&huga=huga1&huga=huga2&fuge=True


こんな感じ。
今あるソース全部書き換えたい。。。