2009-05-16 7 views
8

存在しない、私はJSONのWeb APIにアクセスするためにpycurlを使っていますが、私は以下を使用しようとすると:pycurl:RETURNTRANSFERオプションは

ocurl.setopt(pycurl.URL, gaurl)  # host + endpoint 
ocurl.setopt(pycurl.RETURNTRANSFER, 1) 
ocurl.setopt(pycurl.HTTPHEADER, gaheader) # Send extra headers 
ocurl.setopt(pycurl.CUSTOMREQUEST, "POST") # HTTP POST req 
ocurl.setopt(pycurl.CONNECTTIMEOUT, 2) 

、スクリプトを実行し、それが失敗します。

File "getdata.py", line 46, in apicall 
ocurl.setopt(pycurl.RETURNTRANSFER, 1) 
AttributeError: 'module' object has no attribute 'RETURNTRANSFER' 

私は何が起こっているの手掛かりを持っていないし、他のすべてのオプションがそうしながら、なぜRETURNTRANSFERが存在する表示されません。

答えて

7

マニュアルはsomething like thisている使用方法を示しています

>>> import pycurl 
>>> import StringIO 
>>> b = StringIO.StringIO() 
>>> conn = pycurl.Curl() 
>>> conn.setopt(pycurl.URL, 'http://www.example.org') 
>>> conn.setopt(pycurl.WRITEFUNCTION, b.write) 
>>> conn.perform() 
>>> print b.getvalue() 
<HTML> 
<HEAD> 
    <TITLE>Example Web Page</TITLE> 
</HEAD> 
<body> 
<p>You have reached this web page by typing &quot;example.com&quot;, 
&quot;example.net&quot;, 
    or &quot;example.org&quot; into your web browser.</p> 
<p>These domain names are reserved for use in documentation and are not availabl 
e 
    for registration. See <a href="http://www.rfc-editor.org/rfc/rfc2606.txt">RFC 

    2606</a>, Section 3.</p> 
</BODY> 
</HTML> 

は少し遠回りようだが、私はPycURLの大ファンではないんだ...

+0

ええ、それは素晴らしい作品です。彼らがなぜRETURNTRANSFERを実装するだけではないのだろうと思います。 –

0

print dir(pycurl)を実行しようとしましたが、そのオプションが属性リストに存在するかどうか確認してください。

5

CURLOPT_RETURNTRANSFERはlibcurlのオプションではありません、それはありますPHP/CURLバインディング内で提供されています