2

Cでは、ヘッダーまたは書き込み関数でダウンロードをキャンセルしたいときに-1を返します。pycurl では、このエラーが発生します

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

17 の意味がわかりませんが、何が正しくないのでしょうか?

4

2 に答える 2

3

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

これは 17 が total_size であることを意味します - これは可能ですか? -1 (結果) は、コールバックが返すものです。

于 2009-02-08T10:00:13.483 に答える
1
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())
于 2010-02-21T05:05:28.803 に答える