声明

  1. void curl_easy_cleanup(CURL * handle);

概要

结束一个libcurl的easy句柄。

详情

该函数必须是一个easy会话最后调用的函数。它是curl_easy_init的反过程,而且必须用与curl_easy_init返回的相同句柄作为输入。

该函数可能会关闭这个句柄已经用过的并且可能直到现在还打开着的所有链接——除非它在传输数据的时候被附加到一个multi句柄上。如果你打算传输更多文件的话,不要调用该函数,重用句柄是使libcurl具有良好性能的关键。

有时你的进度回调或者头部回调会在curl_easy_cleanup内部被调用(如果之前使用curl_easy_setopt在句柄上设置过)。比如当libcurl决定关闭连接的时候,连接之上的协议是那种在断开连接时需要一个命令/回应序列的协议。这种协议的例子是FTP,POP3和IMAP。

当调用了该函数并且函数返回后,任何对传给它的句柄的使用都是不合法的。curl_easy_cleanup会删除句柄以及跟它相关的所有内存!

对于7.17版本之前的libcurl,在你调用了该函数之后,你可以安全地移除所有之前告诉libcurl使用的字符串,因为它不会再使用它们。

备注

  • curl_easy_setopt的文档可知,7.17版本之前设置的字符串不会被复制,用户需要自己保留这些字符串。因此上面这句话只针对7.17之前的版本。

返回值

无。