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

📄 curl.h

📁 THIS IS HTTP CURL Example
💻 H
📖 第 1 页 / 共 5 页
字号:
     Available parameters are:     CURLFTPAUTH_DEFAULT - let libcurl decide     CURLFTPAUTH_SSL     - try "AUTH SSL" first, then TLS     CURLFTPAUTH_TLS     - try "AUTH TLS" first, then SSL  */  CINIT(FTPSSLAUTH, LONG, 129),  CINIT(IOCTLFUNCTION, FUNCTIONPOINT, 130),  CINIT(IOCTLDATA, OBJECTPOINT, 131),  /* 132 OBSOLETE. Gone in 7.16.0 */  /* 133 OBSOLETE. Gone in 7.16.0 */  /* zero terminated string for pass on to the FTP server when asked for     "account" info */  CINIT(FTP_ACCOUNT, OBJECTPOINT, 134),  /* feed cookies into cookie engine */  CINIT(COOKIELIST, OBJECTPOINT, 135),  /* ignore Content-Length */  CINIT(IGNORE_CONTENT_LENGTH, LONG, 136),  /* Set to non-zero to skip the IP address received in a 227 PASV FTP server     response. Typically used for FTP-SSL purposes but is not restricted to     that. libcurl will then instead use the same IP address it used for the     control connection. */  CINIT(FTP_SKIP_PASV_IP, LONG, 137),  /* Select "file method" to use when doing FTP, see the curl_ftpmethod     above. */  CINIT(FTP_FILEMETHOD, LONG, 138),  /* Local port number to bind the socket to */  CINIT(LOCALPORT, LONG, 139),  /* Number of ports to try, including the first one set with LOCALPORT.     Thus, setting it to 1 will make no additional attempts but the first.  */  CINIT(LOCALPORTRANGE, LONG, 140),  /* no transfer, set up connection and let application use the socket by     extracting it with CURLINFO_LASTSOCKET */  CINIT(CONNECT_ONLY, LONG, 141),  /* Function that will be called to convert from the     network encoding (instead of using the iconv calls in libcurl) */  CINIT(CONV_FROM_NETWORK_FUNCTION, FUNCTIONPOINT, 142),  /* Function that will be called to convert to the     network encoding (instead of using the iconv calls in libcurl) */  CINIT(CONV_TO_NETWORK_FUNCTION, FUNCTIONPOINT, 143),  /* Function that will be called to convert from UTF8     (instead of using the iconv calls in libcurl)     Note that this is used only for SSL certificate processing */  CINIT(CONV_FROM_UTF8_FUNCTION, FUNCTIONPOINT, 144),  /* if the connection proceeds too quickly then need to slow it down */  /* limit-rate: maximum number of bytes per second to send or receive */  CINIT(MAX_SEND_SPEED_LARGE, OFF_T, 145),  CINIT(MAX_RECV_SPEED_LARGE, OFF_T, 146),  /* Pointer to command string to send if USER/PASS fails. */  CINIT(FTP_ALTERNATIVE_TO_USER, OBJECTPOINT, 147),  /* callback function for setting socket options */  CINIT(SOCKOPTFUNCTION, FUNCTIONPOINT, 148),  CINIT(SOCKOPTDATA, OBJECTPOINT, 149),  /* set to 0 to disable session ID re-use for this transfer, default is     enabled (== 1) */  CINIT(SSL_SESSIONID_CACHE, LONG, 150),  /* allowed SSH authentication methods */  CINIT(SSH_AUTH_TYPES, LONG, 151),  /* Used by scp/sftp to do public/private key authentication */  CINIT(SSH_PUBLIC_KEYFILE, OBJECTPOINT, 152),  CINIT(SSH_PRIVATE_KEYFILE, OBJECTPOINT, 153),  /* Send CCC (Clear Command Channel) after authentication */  CINIT(FTP_SSL_CCC, LONG, 154),  /* Same as TIMEOUT and CONNECTTIMEOUT, but with ms resolution */  CINIT(TIMEOUT_MS, LONG, 155),  CINIT(CONNECTTIMEOUT_MS, LONG, 156),  /* set to zero to disable the libcurl's decoding and thus pass the raw body     data to the appliction even when it is encoded/compressed */  CINIT(HTTP_TRANSFER_DECODING, LONG, 157),  CINIT(HTTP_CONTENT_DECODING, LONG, 158),  /* Permission used when creating new files and directories on the remote     server for protocols that support it, SFTP/SCP/FILE */  CINIT(NEW_FILE_PERMS, LONG, 159),  CINIT(NEW_DIRECTORY_PERMS, LONG, 160),  /* Obey RFC 2616/10.3.2 and keep POSTs as POSTs after a 301 */  CINIT(POST301, LONG, 161),  /* used by scp/sftp to verify the host's public key */  CINIT(SSH_HOST_PUBLIC_KEY_MD5, OBJECTPOINT, 162),  /* Callback function for opening socket (instead of socket(2)). Optionally,     callback is able change the address or refuse to connect returning     CURL_SOCKET_BAD.  The callback should have type     curl_opensocket_callback */  CINIT(OPENSOCKETFUNCTION, FUNCTIONPOINT, 163),  CINIT(OPENSOCKETDATA, OBJECTPOINT, 164),  /* POST volatile input fields. */  CINIT(COPYPOSTFIELDS, OBJECTPOINT, 165),  /* set transfer mode (;type=<a|i>) when doing FTP via an HTTP proxy */  CINIT(PROXY_TRANSFER_MODE, LONG, 166),  /* Callback function for seeking in the input stream */  CINIT(SEEKFUNCTION, FUNCTIONPOINT, 167),  CINIT(SEEKDATA, OBJECTPOINT, 168),  CURLOPT_LASTENTRY /* the last unused */} CURLoption;#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 *//* The following were added in 7.17.0 */#define CURLOPT_SSLKEYPASSWD CURLOPT_KEYPASSWD#define CURLOPT_FTPAPPEND CURLOPT_APPEND#define CURLOPT_FTPLISTONLY CURLOPT_DIRLISTONLY#define CURLOPT_FTP_SSL CURLOPT_USE_SSL/* The following were added earlier */#define CURLOPT_SSLCERTPASSWD CURLOPT_KEYPASSWD#define CURLOPT_KRB4LEVEL CURLOPT_KRBLEVEL#else/* This is set if CURL_NO_OLDIES is defined at compile-time */#undef CURLOPT_DNS_USE_GLOBAL_CACHE /* soon obsolete */#endif  /* Below here follows defines for the CURLOPT_IPRESOLVE option. If a host     name resolves addresses using more than one IP protocol version, this     option might be handy to force libcurl to use a specific IP version. */#define CURL_IPRESOLVE_WHATEVER 0 /* default, resolves addresses to all IP                                     versions that your system allows */#define CURL_IPRESOLVE_V4       1 /* resolve to ipv4 addresses */#define CURL_IPRESOLVE_V6       2 /* resolve to ipv6 addresses */  /* three convenient "aliases" that follow the name scheme better */#define CURLOPT_WRITEDATA CURLOPT_FILE#define CURLOPT_READDATA  CURLOPT_INFILE#define CURLOPT_HEADERDATA CURLOPT_WRITEHEADER  /* These enums are for use with the CURLOPT_HTTP_VERSION option. */enum {  CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd                             like the library to choose the best possible                             for us! */  CURL_HTTP_VERSION_1_0,  /* please use HTTP 1.0 in the request */  CURL_HTTP_VERSION_1_1,  /* please use HTTP 1.1 in the request */  CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */};  /* These enums are for use with the CURLOPT_NETRC option. */enum CURL_NETRC_OPTION {  CURL_NETRC_IGNORED,     /* The .netrc will never be read.                           * This is the default. */  CURL_NETRC_OPTIONAL,    /* A user:password in the URL will be preferred                           * to one in the .netrc. */  CURL_NETRC_REQUIRED,    /* A user:password in the URL will be ignored.                           * Unless one is set programmatically, the .netrc                           * will be queried. */  CURL_NETRC_LAST};enum {  CURL_SSLVERSION_DEFAULT,  CURL_SSLVERSION_TLSv1,  CURL_SSLVERSION_SSLv2,  CURL_SSLVERSION_SSLv3,  CURL_SSLVERSION_LAST /* never use, keep last */};typedef enum {  CURL_TIMECOND_NONE,  CURL_TIMECOND_IFMODSINCE,  CURL_TIMECOND_IFUNMODSINCE,  CURL_TIMECOND_LASTMOD,  CURL_TIMECOND_LAST} curl_TimeCond;/* curl_strequal() and curl_strnequal() are subject for removal in a future   libcurl, see lib/README.curlx for details */CURL_EXTERN int (curl_strequal)(const char *s1, const char *s2);CURL_EXTERN int (curl_strnequal)(const char *s1, const char *s2, size_t n);/* name is uppercase CURLFORM_<name> */#ifdef CFINIT#undef CFINIT#endif#ifdef CURL_ISOCPP#define CFINIT(name) CURLFORM_ ## name#else/* The macro "##" is ISO C, we assume pre-ISO C doesn't support it. */#define CFINIT(name) CURLFORM_/**/name#endiftypedef enum {  CFINIT(NOTHING),        /********* the first one is unused ************/  /*  */  CFINIT(COPYNAME),  CFINIT(PTRNAME),  CFINIT(NAMELENGTH),  CFINIT(COPYCONTENTS),  CFINIT(PTRCONTENTS),  CFINIT(CONTENTSLENGTH),  CFINIT(FILECONTENT),  CFINIT(ARRAY),  CFINIT(OBSOLETE),  CFINIT(FILE),  CFINIT(BUFFER),  CFINIT(BUFFERPTR),  CFINIT(BUFFERLENGTH),  CFINIT(CONTENTTYPE),  CFINIT(CONTENTHEADER),  CFINIT(FILENAME),  CFINIT(END),  CFINIT(OBSOLETE2),  CURLFORM_LASTENTRY /* the last unusued */} CURLformoption;#undef CFINIT /* done *//* structure to be used as parameter for CURLFORM_ARRAY */struct curl_forms {  CURLformoption option;  const char     *value;};/* use this for multipart formpost building *//* Returns code for curl_formadd() * * Returns: * CURL_FORMADD_OK             on success * CURL_FORMADD_MEMORY         if the FormInfo allocation fails * CURL_FORMADD_OPTION_TWICE   if one option is given twice for one Form * CURL_FORMADD_NULL           if a null pointer was given for a char * CURL_FORMADD_MEMORY         if the allocation of a FormInfo struct failed * CURL_FORMADD_UNKNOWN_OPTION if an unknown option was used * CURL_FORMADD_INCOMPLETE     if the some FormInfo is not complete (or error) * CURL_FORMADD_MEMORY         if a HttpPost struct cannot be allocated * CURL_FORMADD_MEMORY         if some allocation for string copying failed. * CURL_FORMADD_ILLEGAL_ARRAY  if an illegal option is used in an array * ***************************************************************************/typedef enum {  CURL_FORMADD_OK, /* first, no error */  CURL_FORMADD_MEMORY,  CURL_FORMADD_OPTION_TWICE,  CURL_FORMADD_NULL,  CURL_FORMADD_UNKNOWN_OPTION,  CURL_FORMADD_INCOMPLETE,  CURL_FORMADD_ILLEGAL_ARRAY,  CURL_FORMADD_DISABLED, /* libcurl was built with this disabled */  CURL_FORMADD_LAST /* last */} CURLFORMcode;/* * NAME curl_formadd() * * DESCRIPTION * * Pretty advanved function for building multi-part formposts. Each invoke * adds one part that together construct a full post. Then use * CURLOPT_HTTPPOST to send it off to libcurl. */CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost,                                      struct curl_httppost **last_post,                                      ...);/* * callback function for curl_formget() * The void *arg pointer will be the one passed as second argument to curl_formget(). * The character buffer passed to it must not be freed. * Should return the buffer length passed to it as the argument "len" on success. */typedef size_t (*curl_formget_callback)(void *arg, const char *buf, size_t len);/* * NAME curl_formget() * * DESCRIPTION * * Serialize a curl_httppost struct built with curl_formadd(). * Accepts a void pointer as second argument which will be passed to * the curl_formget_callback function. * Returns 0 on success. */CURL_EXTERN int curl_formget(struct curl_httppost *form, void *arg,                             curl_formget_callback append);/* * NAME curl_formfree() * * DESCRIPTION * * Free a multipart formpost previously built with curl_formadd(). */CURL_EXTERN void curl_formfree(struct curl_httppost *form);/* * NAME curl_getenv() * * DESCRIPTION * * Returns a malloc()'ed string that MUST be curl_free()ed after usage is * complete. DEPRECATED - see lib/README.curlx */CURL_EXTERN char *curl_getenv(const char *variable);/* * NAME curl_version() * * DESCRIPTION * * Returns a static ascii string of the libcurl version. */CURL_EXTERN char *curl_version(void);/* * NAME curl_easy_escape() * * DESCRIPTION * * Escapes URL strings (converts all letters consider illegal in URLs to their * %XX versions). This function returns a new allocated string or NULL if an

⌨️ 快捷键说明

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