2009-05-16 24 views
8

estoy usando pycurl para acceder a una web API JSON, pero cuando trato de utilizar lo siguiente:pycurl: RETURNTRANSFER opción no existe

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) 

y ejecutar la secuencia de comandos, se produce un error.

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

que no tienen ni idea de lo que está pasando, y por qué RETURNTRANSFER no parece existir, mientras que todas las demás opciones.

Respuesta

7

El manual muestra el uso de ser 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> 

parece un poco rotonda, pero no soy un gran fan de pycurl ...

+0

Sí, eso funciona muy bien. Me pregunto por qué no solo implementarían RETURNTRANSFER para empezar. –

0

¿Ha intentado ejecutar print dir(pycurl) y ver si la opción existe en la lista de atributos?

5

CURLOPT_RETURNTRANSFER no es una opción libcurl, es pero provisto dentro del enlace PHP/CURL