## 第六类可选参数,value应该被设置为一个回调函数名
对于下面的这些option的可选参数,value应该被设置为一个回调函数名:
| 选项 | 可选*value*值 |
| --- | --- |
| **CURLOPT_HEADERFUNCTION** | 设置一个回调函数,这个函数有两个参数,第一个是cURL的资源句柄,第二个是输出的header数据。header数据的输出必须依赖这个函数,返回已写入的数据大小。 |
| **CURLOPT_PASSWDFUNCTION** | 设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个密码提示符,第三个参数是密码长度允许的最大值。返回密码的值。 |
| **CURLOPT_PROGRESSFUNCTION** | 设置一个回调函数,有三个参数,第一个是cURL的资源句柄,第二个是一个文件描述符资源,第三个是长度。返回包含的数据。 |
| **CURLOPT_READFUNCTION** | 回调函数名。该函数应接受三个参数。第一个是 cURL resource;第二个是通过选项**CURLOPT_INFILE**传给 cURL 的 stream resource;第三个参数是最大可以读取的数据的数量。回 调函数必须返回一个字符串,长度小于或等于请求的数据量(第三个参数)。一般从传入的 stream resource 读取。返回空字符串作为*EOF*(文件结束) 信号。 |
| **CURLOPT_WRITEFUNCTION** | 回调函数名。该函数应接受两个参数。第一个是 cURL resource;第二个是要写入的数据字符串。数 据必须在函数中被保存。函数必须返回准确的传入的要写入数据的字节数,否则传输会被一个错误所中 断。 |