スポンサーサイト

-------- --:--:-- --

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

【Python】httplib2のラップメソッド

2011-09-02 01:32:01 Fri

httplib2のGETとPOSTをラップしてみました。
HTTPヘッダを動的に変えるとかはまだ必要なかったので適当。
たまに使うのでめもめも。


# -*- coding: utf-8 -*-
from urllib import urlencode
import httplib2

#h = httplib2.Http(timeout=30)

def post(data, request_url, cookie_value, h):
'''
data must be type of dicitionary
request_url must be type of str
cookie_value must be type of str
'''
results = None
try:
edata = urlencode(data)
size = len(edata)

resp, content = h.request(
request_url,
"POST",
body=edata,
headers={
'Cookie':cookie_value
,'Proxy-Connection':'keep-alive'
,'Referer':'http://localhost:8888/'
,'Content-Length':str(size)
,'Cache-Control':'max-age=0'
,'Origin':'http://localhost:8888'
,'Content-Type':'application/x-www-form-urlencoded'
,'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
,'Accept-Encoding':'sdch'
,'Accept-Language':'ja,en-US;q=0.8,en;q=0.6'
,'Accept-Charset':'Shift_JIS,utf-8;q=0.7,*;q=0.3'
}
)
results = [resp, content]
except Exception, e:
raise e

return results

def get(data, request_url, cookie_value, h):
'''
data is type of dicitionary
request_url is type of str
cookie_value is type of str
'''
results = None
try:
edata = urlencode(data)
if edata is not None:
request_url = request_url + '?' + edata
resp, content = h.request(
request_url,
"GET",
headers={
'Cookie':cookie_value
,'Proxy-Connection':'keep-alive'
,'Referer':'http://localhost:8888/'
,'Cache-Control':'max-age=0'
,'Origin':'http://localhost:8888'
,'Content-Type':'application/x-www-form-urlencoded'
,'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
,'Accept-Encoding':'sdch'
,'Accept-Language':'ja,en-US;q=0.8,en;q=0.6'
,'Accept-Charset':'Shift_JIS,utf-8;q=0.7,*;q=0.3'
}
)
results = [resp, content, ]
except Exception, e:
raise e

return results

if __name__ == "__main__":
''''''



こうやって使います。



request_url = 'http://localhost:8888/map'
data = {'north':'45', 'west':'124', 'south':'19', 'east':'150'}
h = httplib2.Http(timeout=30)
results = get(data, request_url, 'cookie_value', h)
resp = results[0]
content = results[1]


スポンサーサイト

⇒comment

Secret

名言集
全記事(数)表示
全タイトルを表示
ブログ内検索
Loading
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。