2

を使って端末からTwitterにアクセスしたいtornado.httpcilent

しかし、Twitter は私の国ではファイアウォールで保護されています。プロキシ経由でアクセスするにはどうすればよいですか?

他のオプションはありますか?

4

1 に答える 1

6

tornado.httpclientの公式ドキュメントには、プロキシの使用方法の例が含まれています。

プロキシをサポートするには、curl バックエンドが必要です。したがって、前提条件をインストールします。Ubuntu でこれを行う方法は次のとおりです。

$ sudo apt-get install libcurl-dev librtmp-dev 
$ pip install tornado pycurl

次に、次のコードを試してください。

from tornado import httpclient, ioloop

config = {
    'proxy_host': 'YOUR_PROXY_HOSTNAME_OR_IP_ADDRESS',
    'proxy_port': 3128
}

httpclient.AsyncHTTPClient.configure(
    "tornado.curl_httpclient.CurlAsyncHTTPClient")

def handle_request(response):
    if response.error:
        print "Error:", response.error
    else:
        print response.body
    ioloop.IOLoop.instance().stop()

http_client = httpclient.AsyncHTTPClient()
http_client.fetch("http://twitter.com/",
    handle_request, **config)
ioloop.IOLoop.instance().start()
于 2012-08-18T15:42:53.017 に答える