2011-12-07 82 views

回答

1

你不能简单的从C中断运行功能;你需要使用信号。在程序中键入Ctrl + C应该会终止cURL调用,但也会在默认情况下终止您的进程。要以编程方式发送信号,您需要一个单独的线程或进程来执行此操作。

根据您要解决的问题,您可能需要使用curl_easy_setopt来设置CURLOPT_TIMEOUT

9

使用CURLOPT_PROGRESSFUNCTION回调并在您决定时返回非零来中止。也许你可以根据你的要求使用其他更合适的回调。

1

您还可以选择使用curl_multi_remove_handle。正如在官方卷曲文件中所述:

“在使用时删除简单的句柄是完全合法的,并且将有效地停止涉及该简单句柄的正在进行的转移,所有其他简单的句柄和转移将保持不受影响。

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

+0

你能提供一个这样做的例子吗?链接到您引用的文档也很有用。 –