Question

en C ne renvoient -1 quand je veux annuler le téléchargement dans l'en-tête ou la fonction d'écriture. En pycurl je reçois cette erreur

pycurl.error: invalid return value for write callback -1 17

Je ne sais pas ce que les 17 moyens, mais qu'est-ce que je ne fais pas correctement?

Était-ce utile?

La solution

de pycurl.c:

else if (PyInt_Check(result)) {
    long obj_size = PyInt_AsLong(result);
    if (obj_size < 0 || obj_size > total_size) {
        PyErr_Format(ErrorObject, "invalid return value for write callback %ld %ld", (long)obj_size, (long)total_size);
        goto verbose_error;
    }

cela signifierait 17 est le TOTAL_SIZE - est-ce possible? et -1 (résultat) est ce que votre rappel est de retour.

Autres conseils

import pycurl
import StringIO

c = pycurl.Curl()
s = StringIO.StringIO()
c.setopt(pycurl.URL, url)
c.setopt(pycurl.HEADER, True)
c.setopt(pycurl.NOBODY, True)
c.setopt(pycurl.WRITEFUNCTION, s.write)
c.perform()

print(s.getvalue())
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top