ФЭНДОМ


curl_easy_recv - receives raw data on an "easy" connection

Синтаксис Править

CURLcode curl_easy_recv( CURL * curl , void * buffer , size_t buflen , size_t * n );

Описание Править

Получает сырые данные из открытого соединения. Можно использовать вместе с curl_easy_send для реализации своих протоколов с использованием libcurl. Эта функциональность может быть полезна, если вы используете прокси и шифрование : libcurl позаботится о proxy negotiation и установлении соединения.

buffer - указатель на ваш буфер, куда будут помещены данные.

buflen - максимальная вместимость буфера.

В n будет возвращено количество полученных байт.

Перед вызовом curl_easy_perform, выставьте CURLOPT_CONNECT_ONLY в 1. Заметьте, что curl_easy_recv не работает с соединениями, созданными с этим параметром.

You must ensure that the socket has data to read before calling curl_easy_recv, otherwise the call will return CURLE_AGAIN - the socket is used in non-blocking mode internally. Use curl_easy_getinfo(3) with CURLINFO_LASTSOCKET to obtain the socket; use your operating system facilities like select(2) to check if it has any data you can read.

Возвращаемое значение Править

В случае успеха, вернет CURLE_OK, поместив полученные данные в буфер.

Если новые данные не поступали в соединение, функция вернет CURLE_AGAIN. Используйте ваши средства, чтобы подождать, пока данные не будут готовы и повторите запрос.

В противном случае функция вернет error code.

См. также Править

curl_easy_setopt curl_easy_perform curl_easy_getinfo curl_easy_send

Это незавершенная статья
Она содержит неполную информацию
Вы можете помочь Libcurlru вики, дополнив её.