Frage

Ich verwende Pycurl, um auf eine JSON -Web -API zuzugreifen, aber wenn ich versuche, Folgendes zu verwenden:

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 führen Sie das Skript aus, es schlägt fehl.

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 nicht zu existieren scheint, während alle anderen Optionen dies tun.

War es hilfreich?

Lösung

Das Handbuch zeigt das Nutzungswesen etwas wie das:

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

Scheint ein kleiner Kreisverkehr, aber ich bin kein großer Fan von Pycurl ...

Andere Tipps

Curlopt_returntransfer ist keine libcurl -Option, sondern in der PHP/Curl -Bindung bereitgestellt

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top