⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 curl.h

📁 THIS IS HTTP CURL Example
💻 H
📖 第 1 页 / 共 5 页
字号:
  CURLE_FTP_WEIRD_PASS_REPLY,    /* 11 */  CURLE_OBSOLETE12,              /* 12 - NOT USED */  CURLE_FTP_WEIRD_PASV_REPLY,    /* 13 */  CURLE_FTP_WEIRD_227_FORMAT,    /* 14 */  CURLE_FTP_CANT_GET_HOST,       /* 15 */  CURLE_OBSOLETE16,              /* 16 - NOT USED */  CURLE_FTP_COULDNT_SET_TYPE,    /* 17 */  CURLE_PARTIAL_FILE,            /* 18 */  CURLE_FTP_COULDNT_RETR_FILE,   /* 19 */  CURLE_OBSOLETE20,              /* 20 - NOT USED */  CURLE_QUOTE_ERROR,             /* 21 - quote command failure */  CURLE_HTTP_RETURNED_ERROR,     /* 22 */  CURLE_WRITE_ERROR,             /* 23 */  CURLE_OBSOLETE24,              /* 24 - NOT USED */  CURLE_UPLOAD_FAILED,           /* 25 - failed upload "command" */  CURLE_READ_ERROR,              /* 26 - could open/read from file */  CURLE_OUT_OF_MEMORY,           /* 27 */  /* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error           instead of a memory allocation error if CURL_DOES_CONVERSIONS           is defined  */  CURLE_OPERATION_TIMEDOUT,      /* 28 - the timeout time was reached */  CURLE_OBSOLETE29,              /* 29 - NOT USED */  CURLE_FTP_PORT_FAILED,         /* 30 - FTP PORT operation failed */  CURLE_FTP_COULDNT_USE_REST,    /* 31 - the REST command failed */  CURLE_OBSOLETE32,              /* 32 - NOT USED */  CURLE_RANGE_ERROR,             /* 33 - RANGE "command" didn't work */  CURLE_HTTP_POST_ERROR,         /* 34 */  CURLE_SSL_CONNECT_ERROR,       /* 35 - wrong when connecting with SSL */  CURLE_BAD_DOWNLOAD_RESUME,     /* 36 - couldn't resume download */  CURLE_FILE_COULDNT_READ_FILE,  /* 37 */  CURLE_LDAP_CANNOT_BIND,        /* 38 */  CURLE_LDAP_SEARCH_FAILED,      /* 39 */  CURLE_OBSOLETE40,              /* 40 - NOT USED */  CURLE_FUNCTION_NOT_FOUND,      /* 41 */  CURLE_ABORTED_BY_CALLBACK,     /* 42 */  CURLE_BAD_FUNCTION_ARGUMENT,   /* 43 */  CURLE_OBSOLETE44,              /* 44 - NOT USED */  CURLE_INTERFACE_FAILED,        /* 45 - CURLOPT_INTERFACE failed */  CURLE_OBSOLETE46,              /* 46 - NOT USED */  CURLE_TOO_MANY_REDIRECTS ,     /* 47 - catch endless re-direct loops */  CURLE_UNKNOWN_TELNET_OPTION,   /* 48 - User specified an unknown option */  CURLE_TELNET_OPTION_SYNTAX ,   /* 49 - Malformed telnet option */  CURLE_OBSOLETE50,              /* 50 - NOT USED */  CURLE_PEER_FAILED_VERIFICATION, /* 51 - peer's certificate or fingerprint                                     wasn't verified fine */  CURLE_GOT_NOTHING,             /* 52 - when this is a specific error */  CURLE_SSL_ENGINE_NOTFOUND,     /* 53 - SSL crypto engine not found */  CURLE_SSL_ENGINE_SETFAILED,    /* 54 - can not set SSL crypto engine as                                    default */  CURLE_SEND_ERROR,              /* 55 - failed sending network data */  CURLE_RECV_ERROR,              /* 56 - failure in receiving network data */  CURLE_OBSOLETE57,              /* 57 - NOT IN USE */  CURLE_SSL_CERTPROBLEM,         /* 58 - problem with the local certificate */  CURLE_SSL_CIPHER,              /* 59 - couldn't use specified cipher */  CURLE_SSL_CACERT,              /* 60 - problem with the CA cert (path?) */  CURLE_BAD_CONTENT_ENCODING,    /* 61 - Unrecognized transfer encoding */  CURLE_LDAP_INVALID_URL,        /* 62 - Invalid LDAP URL */  CURLE_FILESIZE_EXCEEDED,       /* 63 - Maximum file size exceeded */  CURLE_USE_SSL_FAILED,          /* 64 - Requested FTP SSL level failed */  CURLE_SEND_FAIL_REWIND,        /* 65 - Sending the data requires a rewind                                    that failed */  CURLE_SSL_ENGINE_INITFAILED,   /* 66 - failed to initialise ENGINE */  CURLE_LOGIN_DENIED,            /* 67 - user, password or similar was not                                    accepted and we failed to login */  CURLE_TFTP_NOTFOUND,           /* 68 - file not found on server */  CURLE_TFTP_PERM,               /* 69 - permission problem on server */  CURLE_REMOTE_DISK_FULL,        /* 70 - out of disk space on server */  CURLE_TFTP_ILLEGAL,            /* 71 - Illegal TFTP operation */  CURLE_TFTP_UNKNOWNID,          /* 72 - Unknown transfer ID */  CURLE_REMOTE_FILE_EXISTS,      /* 73 - File already exists */  CURLE_TFTP_NOSUCHUSER,         /* 74 - No such user */  CURLE_CONV_FAILED,             /* 75 - conversion failed */  CURLE_CONV_REQD,               /* 76 - caller must register conversion                                    callbacks using curl_easy_setopt options                                    CURLOPT_CONV_FROM_NETWORK_FUNCTION,                                    CURLOPT_CONV_TO_NETWORK_FUNCTION, and                                    CURLOPT_CONV_FROM_UTF8_FUNCTION */  CURLE_SSL_CACERT_BADFILE,      /* 77 - could not load CACERT file, missing                                    or wrong format */  CURLE_REMOTE_FILE_NOT_FOUND,   /* 78 - remote file not found */  CURLE_SSH,                     /* 79 - error from the SSH layer, somewhat                                    generic so the error message will be of                                    interest when this has happened */  CURLE_SSL_SHUTDOWN_FAILED,     /* 80 - Failed to shut down the SSL                                    connection */  CURL_LAST /* never use! */} CURLcode;#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all                          the obsolete stuff removed! *//* Backwards compatibility with older names *//* The following were added in 7.17.1 *//* These are scheduled to disappear by 2009 */#define CURLE_SSL_PEER_CERTIFICATE CURLE_PEER_FAILED_VERIFICATION/* The following were added in 7.17.0 *//* These are scheduled to disappear by 2009 */#define CURLE_OBSOLETE CURLE_OBSOLETE50 /* noone should be using this! */#define CURLE_BAD_PASSWORD_ENTERED CURLE_OBSOLETE46#define CURLE_BAD_CALLING_ORDER CURLE_OBSOLETE44#define CURLE_FTP_USER_PASSWORD_INCORRECT CURLE_OBSOLETE10#define CURLE_FTP_CANT_RECONNECT CURLE_OBSOLETE16#define CURLE_FTP_COULDNT_GET_SIZE CURLE_OBSOLETE32#define CURLE_FTP_COULDNT_SET_ASCII CURLE_OBSOLETE29#define CURLE_FTP_WEIRD_USER_REPLY CURLE_OBSOLETE12#define CURLE_FTP_WRITE_ERROR CURLE_OBSOLETE20#define CURLE_LIBRARY_NOT_FOUND CURLE_OBSOLETE40#define CURLE_MALFORMAT_USER CURLE_OBSOLETE24#define CURLE_SHARE_IN_USE CURLE_OBSOLETE57#define CURLE_URL_MALFORMAT_USER CURLE_OBSOLETE4#define CURLE_FTP_ACCESS_DENIED CURLE_REMOTE_ACCESS_DENIED#define CURLE_FTP_COULDNT_SET_BINARY CURLE_FTP_COULDNT_SET_TYPE#define CURLE_FTP_QUOTE_ERROR CURLE_QUOTE_ERROR#define CURLE_TFTP_DISKFULL CURLE_REMOTE_DISK_FULL#define CURLE_TFTP_EXISTS CURLE_REMOTE_FILE_EXISTS#define CURLE_HTTP_RANGE_ERROR CURLE_RANGE_ERROR#define CURLE_FTP_SSL_FAILED CURLE_USE_SSL_FAILED/* The following were added earlier */#define CURLE_OPERATION_TIMEOUTED CURLE_OPERATION_TIMEDOUT#define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR#define CURLE_HTTP_PORT_FAILED CURLE_INTERFACE_FAILED#define CURLE_FTP_COULDNT_STOR_FILE CURLE_UPLOAD_FAILED#define CURLE_FTP_PARTIAL_FILE CURLE_PARTIAL_FILE#define CURLE_FTP_BAD_DOWNLOAD_RESUME CURLE_BAD_DOWNLOAD_RESUME/* This was the error code 50 in 7.7.3 and a few earlier versions, this   is no longer used by libcurl but is instead #defined here only to not   make programs break */#define CURLE_ALREADY_COMPLETE 99999#endif /*!CURL_NO_OLDIES*//* This prototype applies to all conversion callbacks */typedef CURLcode (*curl_conv_callback)(char *buffer, size_t length);typedef CURLcode (*curl_ssl_ctx_callback)(CURL *curl,    /* easy handle */                                          void *ssl_ctx, /* actually an                                                            OpenSSL SSL_CTX */                                          void *userptr);typedef enum {  CURLPROXY_HTTP = 0,   /* added in 7.10 */  CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already                           in 7.10 */  CURLPROXY_SOCKS5 = 5, /* added in 7.10 */  CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */  CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the                                   host name rather than the IP address. added                                   in 7.18.0 */} curl_proxytype;  /* this enum was added in 7.10 */#define CURLAUTH_NONE         0       /* nothing */#define CURLAUTH_BASIC        (1<<0)  /* Basic (default) */#define CURLAUTH_DIGEST       (1<<1)  /* Digest */#define CURLAUTH_GSSNEGOTIATE (1<<2)  /* GSS-Negotiate */#define CURLAUTH_NTLM         (1<<3)  /* NTLM */#define CURLAUTH_ANY ~0               /* all types set */#define CURLAUTH_ANYSAFE (~CURLAUTH_BASIC)#define CURLSSH_AUTH_ANY       ~0     /* all types supported by the server */#define CURLSSH_AUTH_NONE      0      /* none allowed, silly but complete */#define CURLSSH_AUTH_PUBLICKEY (1<<0) /* public/private key files */#define CURLSSH_AUTH_PASSWORD  (1<<1) /* password */#define CURLSSH_AUTH_HOST      (1<<2) /* host key files */#define CURLSSH_AUTH_KEYBOARD  (1<<3) /* keyboard interactive */#define CURLSSH_AUTH_DEFAULT CURLSSH_AUTH_ANY#define CURL_ERROR_SIZE 256/* parameter for the CURLOPT_USE_SSL option */typedef enum {  CURLUSESSL_NONE,    /* do not attempt to use SSL */  CURLUSESSL_TRY,     /* try using SSL, proceed anyway otherwise */  CURLUSESSL_CONTROL, /* SSL for the control connection or fail */  CURLUSESSL_ALL,     /* SSL for all communication or fail */  CURLUSESSL_LAST     /* not an option, never use */} curl_usessl;#ifndef CURL_NO_OLDIES /* define this to test if your app builds with all                          the obsolete stuff removed! *//* Backwards compatibility with older names *//* These are scheduled to disappear by 2009 */#define CURLFTPSSL_NONE CURLUSESSL_NONE#define CURLFTPSSL_TRY CURLUSESSL_TRY#define CURLFTPSSL_CONTROL CURLUSESSL_CONTROL#define CURLFTPSSL_ALL CURLUSESSL_ALL#define CURLFTPSSL_LAST CURLUSESSL_LAST#define curl_ftpssl curl_usessl#endif /*!CURL_NO_OLDIES*//* parameter for the CURLOPT_FTP_SSL_CCC option */typedef enum {  CURLFTPSSL_CCC_NONE,    /* do not send CCC */  CURLFTPSSL_CCC_PASSIVE, /* Let the server initiate the shutdown */  CURLFTPSSL_CCC_ACTIVE,  /* Initiate the shutdown */  CURLFTPSSL_CCC_LAST     /* not an option, never use */} curl_ftpccc;/* parameter for the CURLOPT_FTPSSLAUTH option */typedef enum {  CURLFTPAUTH_DEFAULT, /* let libcurl decide */  CURLFTPAUTH_SSL,     /* use "AUTH SSL" */  CURLFTPAUTH_TLS,     /* use "AUTH TLS" */  CURLFTPAUTH_LAST /* not an option, never use */} curl_ftpauth;/* parameter for the CURLOPT_FTP_FILEMETHOD option */typedef enum {  CURLFTPMETHOD_DEFAULT,   /* let libcurl pick */  CURLFTPMETHOD_MULTICWD,  /* single CWD operation for each path part */  CURLFTPMETHOD_NOCWD,     /* no CWD at all */  CURLFTPMETHOD_SINGLECWD, /* one CWD to full dir, then work on file */  CURLFTPMETHOD_LAST       /* not an option, never use */} curl_ftpmethod;/* long may be 32 or 64 bits, but we should never depend on anything else   but 32 */#define CURLOPTTYPE_LONG          0#define CURLOPTTYPE_OBJECTPOINT   10000#define CURLOPTTYPE_FUNCTIONPOINT 20000#define CURLOPTTYPE_OFF_T         30000/* name is uppercase CURLOPT_<name>,   type is one of the defined CURLOPTTYPE_<type>   number is unique identifier */#ifdef CINIT#undef CINIT#endif/* * Figure out if we can use the ## operator, which is supported by ISO/ANSI C * and C++. Some compilers support it without setting __STDC__ or __cplusplus * so we need to carefully check for them too. We don't use configure-checks * for these since we want these headers to remain generic and working for all * platforms. */#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \  defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__) || \  defined(__POCC__) || defined(__SALFORDC__) || defined(__HIGHC__) || \  defined(__ILEC400__)  /* This compiler is believed to have an ISO compatible preprocessor */#define CURL_ISOCPP#else  /* This compiler is believed NOT to have an ISO compatible preprocessor */#undef CURL_ISOCPP#endif#ifdef CURL_ISOCPP#define CINIT(name,type,number) CURLOPT_ ## name = CURLOPTTYPE_ ## type + number#else/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */#define LONG          CURLOPTTYPE_LONG#define OBJECTPOINT   CURLOPTTYPE_OBJECTPOINT#define FUNCTIONPOINT CURLOPTTYPE_FUNCTIONPOINT#define OFF_T         CURLOPTTYPE_OFF_T#define CINIT(name,type,number) CURLOPT_/**/name = type + number#endif/* * This macro-mania below setups the CURLOPT_[what] enum, to be used with * curl_easy_setopt(). The first argument in the CINIT() macro is the [what] * word. */typedef enum {  /* This is the FILE * or void * the regular output should be written to. */  CINIT(FILE, OBJECTPOINT, 1),  /* The full URL to get/put */  CINIT(URL,  OBJECTPOINT, 2),  /* Port number to connect to, if other than default. */  CINIT(PORT, LONG, 3),  /* Name of proxy to use. */  CINIT(PROXY, OBJECTPOINT, 4),  /* "name:password" to use when fetching. */  CINIT(USERPWD, OBJECTPOINT, 5),  /* "name:password" to use with proxy. */  CINIT(PROXYUSERPWD, OBJECTPOINT, 6),  /* Range to get, specified as an ASCII string. */  CINIT(RANGE, OBJECTPOINT, 7),  /* not used */  /* Specified file stream to upload from (use as input): */  CINIT(INFILE, OBJECTPOINT, 9),  /* Buffer to receive error messages in, must be at least CURL_ERROR_SIZE   * bytes big. If this is not used, error messages go to stderr instead: */  CINIT(ERRORBUFFER, OBJECTPOINT, 10),  /* Function that will be called to store the output (instead of fwrite). The   * parameters will use fwrite() syntax, make sure to follow them. */  CINIT(WRITEFUNCTION, FUNCTIONPOINT, 11),  /* Function that will be called to read the input (instead of fread). The   * parameters will use fread() syntax, make sure to follow them. */  CINIT(READFUNCTION, FUNCTIONPOINT, 12),  /* Time-out the read operation after this amount of seconds */  CINIT(TIMEOUT, LONG, 13),  /* If the CURLOPT_INFILE is used, this can be used to inform libcurl about   * how large the file being sent really is. That allows better error   * checking and better verifies that the upload was succcessful. -1 means   * unknown size.   *   * For large file support, there is also a _LARGE version of the key   * which takes an off_t type, allowing platforms with larger off_t   * sizes to handle larger files.  See below for INFILESIZE_LARGE.   */  CINIT(INFILESIZE, LONG, 14),  /* POST static input fields. */  CINIT(POSTFIELDS, OBJECTPOINT, 15),  /* Set the referer page (needed by some CGIs) */  CINIT(REFERER, OBJECTPOINT, 16),  /* Set the FTP PORT string (interface name, named or numerical IP address)     Use i.e '-' to use default address. */  CINIT(FTPPORT, OBJECTPOINT, 17),  /* Set the User-Agent string (examined by some CGIs) */  CINIT(USERAGENT, OBJECTPOINT, 18),  /* If the download receives less than "low speed limit" bytes/second   * during "low speed time" seconds, the operations is aborted.   * You could i.e if you have a pretty high speed connection, abort if   * it is less than 2000 bytes/sec during 20 seconds.   */  /* Set the "low speed limit" */  CINIT(LOW_SPEED_LIMIT, LONG, 19),  /* Set the "low speed time" */  CINIT(LOW_SPEED_TIME, LONG, 20),  /* Set the continuation offset.   *   * Note there is also a _LARGE version of this key which uses   * off_t types, allowing for large file offsets on platforms which

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -