#include <curl / curl.h>
CURLcode curl_easy_perform(CURL * easy_handle);
在curl_easy_init之后调用此函数并进行所有curl_easy_setopt调用,并将按照选项中的描述执行传输。它必须与同被称为easy_handle作为输入作为curl_easy_init调用返回。
curl_easy_perform以阻塞方式执行整个请求,并在完成后返回,或者如果失败则返回。有关非阻塞行为,请参阅curl_multi_perform。
在使用相同的easy_handle时,您可以对curl_easy_perform进行任意数量的调用。如果您打算传输多个文件,甚至鼓励您这样做。然后,libcurl将尝试为以下传输重用相同的连接,从而使操作更快,CPU密集度更低,并且使用更少的网络资源。请注意,您必须在调用之间使用curl_easy_setopt来设置以下curl_easy_perform的选项。
您绝不能使用相同的easy_handle从两个地方同时调用此函数。让函数在再次调用之前先返回。如果您想要并行传输,则必须使用多个curl easy_handles。
虽然easy_handle被添加到多个句柄中,但curl_easy_perform无法使用它。
CURLE_OK(0)表示一切正常,非零表示发生错误,因为<curl / curl.h>定义 - 请参阅libcurl-errors。如果使用curl_easy_setopt设置CURLOPT_ERRORBUFFER,则返回非零时,错误缓冲区中将显示可读错误消息。
<span style="color:#000000">CURL * curl = curl_easy_init();
if(curl){
CURLcode res;
curl_easy_setopt(curl,CURLOPT_URL,“http://example.com”);
res = curl_easy_perform(curl);
curl_easy_cleanup(卷曲);
}</span>
使用libcurl步骤4之curl_easy_perform
使用libcurl步骤5之curl_easy_cleanup