それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

python で http リクエスト post (簡易版)

urllib だけでPOSTリクエストできる

以前 やったときは、urllib2 と組み合わせた。

もっと単純に、データを送信・受信するだけならurllib だけで簡単だった。

#!/usr/bin/env python
# coding:utf-8
from urllib import urlopen
from urllib import urlencode
tracking_id = "".join("2xxx-xxxx-3796".split("-"))


url = "http://toi.kuronekoyamato.co.jp/cgi-bin/tneko"
data = { "number01": "%s" % tracking_id , "number00":1 }


data = urlencode(data)
fs = urlopen(url,data )

html_src = fs.read()

うん。これなら、シェルスクリプトでぱぱっと使えて便利だわ。

2016-03-24 追記

python3 の場合は、次のようにする。

# python3
from urllib.request import urlopen
from urllib.parse import urlencode

urllib.request / urllibparse とそれぞれモジュールが分かれています。

書き直すと、次のようになります。

# python3
from urllib.request import urlopen
from urllib.parse import urlencode

tracking_id = "".join("2xxx-xxxx-3796".split("-"))


url = "http://toi.kuronekoyamato.co.jp/cgi-bin/tneko"
data = { "number01": "%s" % tracking_id , "number00":1 }
data = urlencode(data).encode('utf-8')

conn = urlopen(url,data)
print(conn.read().decode('shift-jis'))

ご指摘感謝です。

関連資料

pythonでhttpリクエスト-POST - それマグで!