Wie bekomme ich HTTP-Statusnachrichten in (py) curl?
verbringen einige Zeit mit dem Studium pycurl und libcurl Dokumentation, habe ich noch nicht finden können, eine (einfache) Art und Weise, wie man HTTP-status-Meldung (Grund-Satz) in pycurl.
status-code ist einfach:
import pycurl
import cStringIO
curl = pycurl.Curl()
buff = cStringIO.StringIO()
curl.setopt(pycurl.URL, 'http://example.org')
curl.setopt(pycurl.WRITEFUNCTION, buff.write)
curl.perform()
print "status code: %s" % curl.getinfo(pycurl.HTTP_CODE)
# -> 200
# print "status message: %s" % ???
# -> "OK"
InformationsquelleAutor der Frage mykhal | 2010-04-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
habe ich eine Lösung gefunden, mich, die tut, was ich brauche, aber könnte mehr robust (funktioniert für HTTP).
es basiert auf der Tatsache, dass die erfassten Header, die durch
pycurl.HEADERFUNCTION
gehören der status-Zeile.InformationsquelleAutor der Antwort mykhal
Ich denke, dass Sie verwenden können, human_curl Bibliothek zu erstellen, geben Sie den code einfach.
Vollständige Dokumentation über human_curl erhalten Sie auf https://github.com/Lispython/human_curl
InformationsquelleAutor der Antwort Alexandr
Dies ist ein Alter thread aber ich habe hier auf der Suche nach ähnlichen Informationen. Wenn es nur der status-code, den Sie suchen, wie z.B. 200, 404, 500 usw. dann eben:
your_curl_handle.getinfo(pycurl.RESPONSE_CODE)
welche zurückgeben sollte einen numerischen status code 🙂
InformationsquelleAutor der Antwort Kalabaaz
Versuchen BaseHTTPServer.BaseHTTPRequestHandler.Antworten, es sollte sich ein errorcode dictionnary, wie in auf dieser Seite.
hoffe, das hilft.
InformationsquelleAutor der Antwort Aif