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)
個人用ツール