2009-05-16 13 views
8

ich pycurl bin mit einem JSON Web-API zugreifen, aber wenn ich versuche, die folgenden zu verwenden:pycurl: RETURNTRANSFER Option existiert nicht

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) 

und das Skript ausführen, scheitert es.

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

Ich habe keine Ahnung, was los ist, und warum RETURNTRANSFER scheint nicht zu existieren, während alle anderen Optionen zu tun.

Antwort

7

Das Handbuch zeigt die Verwendung something like this sein:

>>> 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> 

ein wenig Kreisverkehr scheint, aber ich bin kein großer Fan von pycurl ...

+0

Ja, das funktioniert super. Ich frage mich, warum sie nicht einfach RETURNTRANSFER implementieren würden. –

0

Haben Sie versucht, print dir(pycurl) auszuführen und sehen, ob die Option in der Attributliste existiert?

5

CURLOPT_RETURNTRANSFER ist kein Libcurl Option, es ist aber innerhalb der PHP/CURL-Bindung zur Verfügung gestellt

Verwandte Themen