2013-07-11 7 views
1

CURL's CURLOPT_MAX_RECV_SPEED_LARGE option을 pycurl 라이브러리와 함께 사용하려고합니다. 다음은 테스트 코드입니다.pycurl과 Python에서 CURLOPT_MAX_RECV_SPEED_LARGE 옵션을 어떻게 사용합니까?

import sys 
import pycurl 


class Test: 
    def __init__(self): 
     self.contents = '' 

    def body_callback(self, buf): 
     self.contents = self.contents + buf 

print >>sys.stderr, 'Testing', pycurl.version 

t = Test() 
c = pycurl.Curl() 
c.setopt(c.URL, 'http://curl.haxx.se/dev/') 
c.setopt(c.WRITEFUNCTION, t.body_callback) 
c.setopt(c.CURLOPT_MAX_RECV_SPEED_LARGE, 1024) 
c.perform() 
c.close() 

print t.contents 

오류가 발생합니다. 이 옵션에 정의 된 라이브러리 상수가없는 것 같습니다.

가 어떻게 pycurl 함께 CURLOPT_MAX_RECV_SPEED_LARGE 옵션을 사용할 수 있습니다

Traceback (most recent call last): 
    File "/Users/nilayanand/Documents/workspace/photofeed/photofeed-desktop/test/curl.py", line 18, in <module> 
    c.setopt(c.CURLOPT_MAX_RECV_SPEED_LARGE, 1024) 
AttributeError: CURLOPT_MAX_RECV_SPEED_LARGE 
?

답변

2

CURLOPT_MAX_RECV_SPEED_LARGE 옵션의 속성은 CURLOPT_를 포함하지 않는이 라인이 라인

c.setopt(c.CURLOPT_MAX_RECV_SPEED_LARGE, 1024) 

을 변경하려고 할 수 있습니다 접두어로, 단지 MAX_RECV_SPEED_LARGE으로 명명됩니다. 당신이 될하는 데 사용하는 라인을 수정하는 경우 코드는 작동 :

c.setopt(c.MAX_RECV_SPEED_LARGE, 1024) 
+0

문제가 해결되었습니다. Jeremy에게 감사드립니다. –

+0

좋아요! 왼쪽의 녹색 체크 표시를 눌러 향후 시청자를위한 해결책으로 표시 할 수 있기를 바랍니다. –

0

나는이 작동 모르겠지만, 당신은

c.setopt(CURLOPT_MAX_RECV_SPEED_LARGE, 1024) 
+0

그는 pycurl' 또는 아무것도에서하지'수입 * 한을 이렇게 정의한다'CURLOPT_MAX_RECV_SPEED_LARGE'에 대한 방법이 없습니다. 이 경우 오류가 발생해야합니다. –

+0

*을 가져 오거나 CURLOPT_MAX_RECV_SPEED_LARGE를 (를) 직접 사용하여 운이 좋지는 않습니다. –

+0

설명서의 내용은 다음과 같습니다. curl_off_t를 매개 변수로 전달하십시오. 전송 중에 누적 평균으로이 속도 (초당 바이트 수)가 초과되면 다운로드가 일시 중지되어 평균 속도가 매개 변수 값보다 작거나 같습니다. 기본값은 무제한입니다. (7.15.5에 추가) http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTMAXRECVSPEEDLARGE –

관련 문제