FC2ブログ
--
--.--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2011
05.18

httplibでPOSTする時。

Category: python
5月も半ばになり、だいぶ暖かくなってきましたので、pythonはじめました。

ちまっとしたテストツールを作るにあたって、httplibを使うことにしたのですが、
POSTでのアクセスがうまくいかなくて、色々と悶絶してしまったので、
メモっておくことにします。

いや、もちろん例は
http://www.python.jp/doc/2.4/lib/httplib-examples.html
にありますけど・・・。

# encoding: utf-8

import httplib
import re

# ヘッダとか出力してくれます。ちなみに、
# 0とかNoneとか空白だとデバッグメッセージなし、それ以外だとありのようです。
# 100とかしてもメッセージは増えません。
httplib.HTTPConnection.debuglevel = 1
con = httplib.HTTPConnection("puyopuyo.net")
pp="word=あいうえお".encode('cp932')
con.request('POST', "/test.cgi", pp, headers={
'User-Agent': "",
'Content-Type': 'application/x-www-form-urlencoded',
})
res=con.getresponse()
print res.read()


サイトがSJISの場合は、SJISにエンコードします。
個人的にはcp932が好きなのでそうしてますが。
あと、/test.cgi のパスの部分ですが、 / から始めます。ええ、ここで / を付けてなかったので、
ずっとサーバから400を返され続けましたorz

つまり、 / を付けるのを忘れるな!

っていうことです。ハイ。

telnet で http とお話する時もそうですね、ハイ。

それではみなさん、つまらないミスは減らすように心がけましょう。


スポンサーサイト

トラックバックURL
http://noriko3.blog42.fc2.com/tb.php/556-effb7eb7
トラックバック
コメント
管理者にだけ表示を許可する
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。