2011-12-07 3 views
4

나는 내가 곱슬 곱슬 요청을 취소 할 수있는 방법, 나에게 물어 libcurl에 요청 취소하는 방법 :

res = curl_easy_perform(curl); 

답변

1

당신은 쉽게 C 내에서 실행중인 기능을 중단하지 수 있습니다; 신호를 사용해야합니다. 프로그램에서 Ctrl + C를 입력하면 cURL 호출을 종료해야하지만 기본적으로 프로세스가 종료됩니다. 프로그래밍 방식으로 신호를 보내려면 별도의 스레드 또는 프로세스가 필요합니다.

해결하려는 문제에 따라 CURLOPT_TIMEOUTcurl_easy_setopt으로 설정할 수 있습니다.

9

콜백을 사용하고 결정할 때 0이 아닌 값을 반환하면 중단됩니다. 어쩌면 당신은 당신의 필요 조건에 따라 다른 적절한 콜백을 사용할 수있을 것입니다.

1

curl_multi_remove_handle을 사용할 수도 있습니다. 오프라인 컬 설명서에 명시된 바와 같이 :

"사용하기 쉬운 핸들을 제거하는 것은 완전히 합법적이며 쉽게 처리 할 수있는 진행중인 전송을 효과적으로 중단합니다. 다른 모든 손쉬운 핸들과 전송은 영향을받지 않습니다."

c.f. https://curl.haxx.se/libcurl/c/curl_multi_remove_handle.html

+0

예를 들어 설명해 주시겠습니까? 인용하고있는 문서에 대한 링크도 유용 할 것입니다. –