声明

  1. CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);

概要

设置一个easy句柄的选项。

详情

curl_easy_setopt用来告诉libcurl如何运作。通过设置适当的选项,应用程序可以改变libcurl的行为。所有选项都通过一个option以及后面的一个parameter来设置。根据指定选项的期望,参数可以是一个long,一个函数指针,一个对象指针或者一个curl_off_t。要小心地阅读本手册,因为错误的输入值可能会导致libcurl严重损坏!你可以只在每次函数调用时设置一个选项。一个典型的应用程序在配置阶段调用许多次curl_easy_setopt

通过该函数设置的选项对这个句柄上所有后续的传输都有效。选项不会在每次传输之间以任何方式重新设置,所以如果你希望接下来的传输使用不同的选项,你必须在每次传输之间修改它们。你可以通过curl_easy_reset把所有选项重设回内部的默认值。

字符串以char*参数传递给libcurl,并且会被libcurl复制。因此指针参数指向的字符串内存空间在curl_easy_setopt返回之后可以被覆写。这个规则唯一的例外是CURLOPT_POSTFIELDS,不过另一个会复制字符串的CURLOPT_COPYPOSTFIELDS有一些用法特点,你需要阅读一下。

在7.17.0版本以前,字符串是不会被复制的。所以用户被迫保留这些字符串,直到libcurl不再需要它们。

handle参数是调用curl_easy_init或者curl_easy_duphandle的返回值。

行为选项

CURLOPT_VERBOSE

显示详细的信息。参考CURLOPT_VERBOSE

CURLOPT_HEADER

在正文输出中包含头部。参考CURLOPT_HEADER

CURLOPT_NOPROGRESS

关闭进度计量。参考CURLOPT_NOPROGRESS

CURLOPT_NOSIGNAL

不要安装信号处理器。参考CURLOPT_NOSIGNAL

CURLOPT_WILDCARDMATCH

根据一个文件名匹配模式传输多个文件。参考CURLOPT_WILDCARDMATCH

回调选项

CURLOPT_WRITEFUNCTION

写数据的回调。参考CURLOPT_WRITEFUNCTION

CURLOPT_WRITEDATA

传递给写数据回调的数据指针。参考CURLOPT_WRITEDATA

CURLOPT_READFUNCTION

读数据的回调。参考CURLOPT_READFUNCTION

CURLOPT_READDATA

传递给读数据回调的数据指针。参考CURLOPT_READDATA

CURLOPT_IOCTLFUNCTION

I/O操作的回调。参考CURLOPT_IOCTLFUNCTION

CURLOPT_IOCTLDATA

传递给I/O操作回调的数据指针。参考CURLOPT_IOCTLDATA

CURLOPT_SEEKFUNCTION

重定位操作的回调。参考CURLOPT_SEEKFUNCTION

CURLOPT_SEEKDATA

传递给重定位操作回调的数据指针。参考CURLOPT_SEEKDATA

CURLOPT_SOCKOPTFUNCTION

sockopt操作的回调。参考CURLOPT_SOCKOPTFUNCTION

CURLOPT_SOCKOPTDATA

传递给sockopt回调的数据指针。参考CURLOPT_SOCKOPTDATA

CURLOPT_OPENSOCKETFUNCTION

创建套接字的回调。参考CURLOPT_OPENSOCKETFUNCTION

CURLOPT_OPENSOCKETDATA

传递给创建套接字回调的数据指针。参考CURLOPT_OPENSOCKETDATA

CURLOPT_CLOSESOCKETFUNCTION

关闭套接字的回调。参考CURLOPT_CLOSESOCKETFUNCTION

CURLOPT_CLOSESOCKETDATA

传递给关闭套接字回调的数据指针。参考CURLOPT_CLOSESOCKETDATA

CURLOPT_PROGRESSFUNCTION

已废弃的进度计量回调。参考CURLOPT_PROGRESSFUNCTION

CURLOPT_PROGRESSDATA

传递给已废弃的进度计量回调的数据指针。参考CURLOPT_PROGRESSDATA

CURLOPT_XFERINFOFUNCTION

进度计量回调。参考CURLOPT_XFERINFOFUNCTION

CURLOPT_XFERINFODATA

传递给进度计量回调的数据指针。参考CURLOPT_XFERINFODATA

CURLOPT_HEADERFUNCTION

写头部的回调。参考CURLOPT_HEADERFUNCTION

CURLOPT_HEADERDATA

传递给写头部回调的数据指针。参考CURLOPT_HEADERDATA

CURLOPT_DEBUGFUNCTION

调试信息的回调。参考CURLOPT_DEBUGFUNCTION

CURLOPT_DEBUGDATA

传递给调试信息回调的数据指针。参考CURLOPT_DEBUGDATA

CURLOPT_SSL_CTX_FUNCTION

SSL上下文逻辑的回调。参考CURLOPT_SSL_CTX_FUNCTION

CURLOPT_SSL_CTX_DATA

传递给SSL上下文回调的数据指针。参考CURLOPT_SSL_CTX_DATA

CURLOPT_CONV_TO_NETWORK_FUNCTION

本机编码转换成网络编码的回调。参考CURLOPT_CONV_TO_NETWORK_FUNCTION

CURLOPT_CONV_FROM_NETWORK_FUNCTION

网络编码转换成本机编码的回调。参考CURLOPT_CONV_FROM_NETWORK_FUNCTION

CURLOPT_CONV_FROM_UTF8_FUNCTION

UTF-8编码转换成本机编码的回调。参考CURLOPT_CONV_FROM_UTF8_FUNCTION

CURLOPT_INTERLEAVEFUNCTION

RTSP交叉数据回调。参考CURLOPT_INTERLEAVEFUNCTION

CURLOPT_INTERLEAVEDATA

传递给RTSP交换回调的数据指针。参考CURLOPT_INTERLEAVEDATA

CURLOPT_CHUNK_BGN_FUNCTION

数据块的通配符下载开始的回调。参考CURLOPT_CHUNK_BGN_FUNCTION

CURLOPT_CHUNK_END_FUNCTION

数据块的通配符下载结束的回调。参考CURLOPT_CHUNK_END_FUNCTION

CURLOPT_CHUNK_DATA

传递给数据块回调的数据指针。参考CURLOPT_CHUNK_DATA

CURLOPT_FNMATCH_FUNCTION

通配符匹配的回调。参考CURLOPT_FNMATCH_FUNCTION

CURLOPT_FNMATCH_DATA

传递给通配符匹配回调的数据指针。参考CURLOPT_FNMATCH_DATA

错误选项

CURLOPT_ERRORBUFFER

错误消息缓冲区。参考CURLOPT_ERRORBUFFER

CURLOPT_STDERR

替换stderr的流。参考CURLOPT_STDERR

CURLOPT_FAILONERROR

在出现HTTP的4xx错误时失败。参考CURLOPT_FAILONERROR

网络选项

CURLOPT_URL

设置使用的URL。参考CURLOPT_URL

CURLOPT_PATH_AS_IS

禁止压缩路径中的/..//./序列。参考CURLOPT_PATH_AS_IS

CURLOPT_PROTOCOLS

设置允许使用的协议。参考CURLOPT_PROTOCOLS

CURLOPT_REDIR_PROTOCOLS

允许重定向的协议。参考CURLOPT_REDIR_PROTOCOLS