声明

typedef enum {
  CURLINFO_TEXT = 0,
  CURLINFO_HEADER_IN,    /* 1 */
  CURLINFO_HEADER_OUT,   /* 2 */
  CURLINFO_DATA_IN,      /* 3 */
  CURLINFO_DATA_OUT,     /* 4 */
  CURLINFO_SSL_DATA_IN,  /* 5 */
  CURLINFO_SSL_DATA_OUT, /* 6 */
  CURLINFO_END
} curl_infotype;

int debug_callback(CURL *handle,
                   curl_infotype type,
                   char *data,
                   size_t size,
                   void *userptr);

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DEBUGFUNCTION,
                          debug_callback);

概要

调试回调。

详情

传入一个指向你的回调函数的指针,该函数应该符合上面显示的原型。

CURLOPT_DEBUGFUNCTION会替换掉当CURLOPT_VERBOSE生效时使用的标准调试函数。这个回调接收通过type参数指定的调试信息。这个函数必须返回0。传递给这个函数的通过char*指向的data不会以0结束,但会跟size参数指定的大小准确地一致。

userptr参数是通过CURLOPT_DEBUGDATA设置的指针。

可用的curl_infotype值:

CURLINFO_TEXT

数据是信息性的文本。

CURLINFO_HEADER_IN

数据是从另一端接收到的头部(或者类似头部的数据)。

CURLINFO_HEADER_OUT

数据是发送给另一端的头部(或者类似头部的数据)。

CURLINFO_DATA_IN

数据是从另一端接收到的协议数据。

CURLINFO_DATA_OUT

数据是发送给另一端的协议数据。

CURLINFO_SSL_DATA_OUT

数据是发送给另一端的SSL/TLS(二进制)数据。

CURLINFO_SSL_DATA_IN

数据是从另一端接收到的SSL/TLS(二进制)数据。

默认值

无。

适用协议

所有协议。

可用性

总是可用。

返回值

返回CURLE_OK

results matching ""

    No results matching ""