Curling
提供: やる気向上作戦
目次 |
何ですかこれは?
pycurlをhttplib2風にラップしたもの。以下の機能を持ちます。
- 同期/非同期リクエスト
- HTTP認証およびプロキシ認証
- タイムアウト
- 受信するデータの最大量の制限
- SSL通信(pycurlがサポートしていれば)
- サーバ証明書の検証(pycurlがサポートしていれば)
- curlなので、ftpスキームのURLでもOK
必要環境
ダウンロード
easy_install http://curling.googlecode.com/svn/trunk/src/
ライセンス
Public Domain
例
単純な同期リクエスト
from curling import request
response, content = request("http://www.example.com/")
print response.get_headers()
print content
非同期リクエスト
from curling import request_async
def succeed(response):
print response.get_content()
def fail(response, errcode, errmsg):
print errcode, errmsg
task = request_async("http://www.example.com/", succeed, fail)
# task.cancel()を呼び出すことにより、途中でリクエストをキャンセル可能。
task.wait() # タスクが終わるまで待つ。
プロキシを指定してみる。
from curling import request, Request, AUTH_BASIC
req = Request("http://example.com/")
req.set_proxy("proxy.example.com:8080", "username", "password", AUTH_BASIC)
response, content = request(req)
