Pycurl: ReturnTransfer -Option existiert nicht
-
22-08-2019 - |
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.
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 "example.com",
"example.net",
or "example.org" 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