Module Curl

module Curl: sig .. end
libcurl wrapper


Types


type t 
type curlCode = 
| CURLE_OK
| CURLE_UNSUPPORTED_PROTOCOL
| CURLE_FAILED_INIT
| CURLE_URL_MALFORMAT
| CURLE_URL_MALFORMAT_USER
| CURLE_COULDNT_RESOLVE_PROXY
| CURLE_COULDNT_RESOLVE_HOST
| CURLE_COULDNT_CONNECT
| CURLE_FTP_WEIRD_SERVER_REPLY
| CURLE_FTP_ACCESS_DENIED
| CURLE_FTP_USER_PASSWORD_INCORRECT
| CURLE_FTP_WEIRD_PASS_REPLY
| CURLE_FTP_WEIRD_USER_REPLY
| CURLE_FTP_WEIRD_PASV_REPLY
| CURLE_FTP_WEIRD_227_FORMAT
| CURLE_FTP_CANT_GET_HOST
| CURLE_FTP_CANT_RECONNECT
| CURLE_FTP_COULDNT_SET_BINARY
| CURLE_PARTIAL_FILE
| CURLE_FTP_COULDNT_RETR_FILE
| CURLE_FTP_WRITE_ERROR
| CURLE_FTP_QUOTE_ERROR
| CURLE_HTTP_NOT_FOUND
| CURLE_WRITE_ERROR
| CURLE_MALFORMAT_USER
| CURLE_FTP_COULDNT_STOR_FILE
| CURLE_READ_ERROR
| CURLE_OUT_OF_MEMORY
| CURLE_OPERATION_TIMEOUTED
| CURLE_FTP_COULDNT_SET_ASCII
| CURLE_FTP_PORT_FAILED
| CURLE_FTP_COULDNT_USE_REST
| CURLE_FTP_COULDNT_GET_SIZE
| CURLE_HTTP_RANGE_ERROR
| CURLE_HTTP_POST_ERROR
| CURLE_SSL_CONNECT_ERROR
| CURLE_FTP_BAD_DOWNLOAD_RESUME
| CURLE_FILE_COULDNT_READ_FILE
| CURLE_LDAP_CANNOT_BIND
| CURLE_LDAP_SEARCH_FAILED
| CURLE_LIBRARY_NOT_FOUND
| CURLE_FUNCTION_NOT_FOUND
| CURLE_ABORTED_BY_CALLBACK
| CURLE_BAD_FUNCTION_ARGUMENT
| CURLE_BAD_CALLING_ORDER
| CURLE_HTTP_PORT_FAILED
| CURLE_BAD_PASSWORD_ENTERED
| CURLE_TOO_MANY_REDIRECTS
| CURLE_UNKNOWN_TELNET_OPTION
| CURLE_TELNET_OPTION_SYNTAX
| CURLE_OBSOLETE
| CURLE_SSL_PEER_CERTIFICATE
| CURLE_GOT_NOTHING
| CURLE_SSL_ENGINE_NOTFOUND
| CURLE_SSL_ENGINE_SETFAILED
| CURLE_SEND_ERROR
| CURLE_RECV_ERROR
| CURLE_SHARE_IN_USE
| CURLE_SSL_CERTPROBLEM
| CURLE_SSL_CIPHER
| CURLE_SSL_CACERT
| CURLE_BAD_CONTENT_ENCODING
| CURLE_LDAP_INVALID_URL
| CURLE_FILESIZE_EXCEEDED
| CURLE_USE_SSL_FAILED
| CURLE_SEND_FAIL_REWIND
| CURLE_SSL_ENGINE_INITFAILED
| CURLE_LOGIN_DENIED
| CURLE_TFTP_NOTFOUND
| CURLE_TFTP_PERM
| CURLE_REMOTE_DISK_FULL
| CURLE_TFTP_ILLEGAL
| CURLE_TFTP_UNKNOWNID
| CURLE_REMOTE_FILE_EXISTS
| CURLE_TFTP_NOSUCHUSER
| CURLE_CONV_FAILED
| CURLE_CONV_REQD
| CURLE_SSL_CACERT_BADFILE
| CURLE_REMOTE_FILE_NOT_FOUND
| CURLE_SSH
| CURLE_SSL_SHUTDOWN_FAILED
| CURLE_AGAIN
exception CurlException of (curlCode * int * string)
exception NotImplemented of string
exception raised when trying to use options missing from libcurl headers, argument is the option name
type curlNETRCOption = 
| CURL_NETRC_OPTIONAL
| CURL_NETRC_IGNORED
| CURL_NETRC_REQUIRED
type curlEncoding = 
| CURL_ENCODING_NONE
| CURL_ENCODING_DEFLATE
| CURL_ENCODING_GZIP
| CURL_ENCODING_ANY
type curlContentType = 
| DEFAULT
| CONTENTTYPE of string
type curlHTTPPost = 
| CURLFORM_CONTENT of string * string * curlContentType
| CURLFORM_FILECONTENT of string * string * curlContentType
| CURLFORM_FILE of string * string * curlContentType
| CURLFORM_BUFFER of string * string * string * curlContentType
type curlSSLVersion = 
| SSLVERSION_DEFAULT (*
attempt to figure out the remote SSL protocol version
*)
| SSLVERSION_TLSv1 (*
TLSv1.x
*)
| SSLVERSION_SSLv2 (*
SSLv2
*)
| SSLVERSION_SSLv3 (*
SSLv3
*)
| SSLVERSION_TLSv1_0 (*
Added in libcurl 7.34.0, will request TLSv1 in previous versions
*)
| SSLVERSION_TLSv1_1 (*
Added in libcurl 7.34.0, will request TLSv1 in previous versions
*)
| SSLVERSION_TLSv1_2 (*
Added in libcurl 7.34.0, will request TLSv1 in previous versions
*)
type curlTimeCondition = 
| TIMECOND_NONE (*
since 0.6.1
*)
| TIMECOND_IFMODSINCE
| TIMECOND_IFUNMODSINCE
| TIMECOND_LASTMOD (*
since 0.6.1
*)
type curlKRB4Level = 
| KRB4_NONE
| KRB4_CLEAR
| KRB4_SAFE
| KRB4_CONFIDENTIAL
| KRB4_PRIVATE
type curlClosePolicy = 
| CLOSEPOLICY_OLDEST
| CLOSEPOLICY_LEAST_RECENTLY_USED
type curlSSLVerifyHost = 
| SSLVERIFYHOST_NONE (*
connection succeeds regardless of the names in the certificate
*)
| SSLVERIFYHOST_EXISTENCE (*
deprecated, equivalent to SSLVERIFYHOST_HOSTNAME
*)
| SSLVERIFYHOST_HOSTNAME (*
certificate must indicate the matching hostname, or the connection fails
*)
type curlHTTPVersion = 
| HTTP_VERSION_NONE (*
libcurl will make the best choice
*)
| HTTP_VERSION_1_0 (*
please use HTTP 1.0
*)
| HTTP_VERSION_1_1 (*
please use HTTP 1.1
*)
| HTTP_VERSION_2 (*
please use HTTP 2
*)
| HTTP_VERSION_2TLS (*
use version 2 for HTTPS, version 1.1 for HTTP
*)
type curlDebugType = 
| DEBUGTYPE_TEXT
| DEBUGTYPE_HEADER_IN
| DEBUGTYPE_HEADER_OUT
| DEBUGTYPE_DATA_IN
| DEBUGTYPE_DATA_OUT
| DEBUGTYPE_END
type curlAuth = 
| CURLAUTH_BASIC
| CURLAUTH_DIGEST
| CURLAUTH_GSSNEGOTIATE
| CURLAUTH_NTLM
| CURLAUTH_ANY
| CURLAUTH_ANYSAFE
type curlIPResolve = 
| IPRESOLVE_WHATEVER
| IPRESOLVE_V4
| IPRESOLVE_V6
type curlFTPSSL = 
| FTPSSL_NONE
| FTPSSL_TRY
| FTPSSL_CONTROL
| FTPSSL_ALL
type curlFTPSSLAuth = 
| FTPAUTH_DEFAULT
| FTPAUTH_SSL
| FTPAUTH_TLS
type curlIOCmd = 
| IOCMD_NOP
| IOCMD_RESTARTREAD
type curlIOErr = 
| IOE_OK
| IOE_UNKNOWNCMD
| IOE_FAILRESTART
type curlSeekResult = 
| SEEKFUNC_OK
| SEEKFUNC_FAIL
| SEEKFUNC_CANTSEEK
type curlFTPMethod = 
| FTPMETHOD_DEFAULT
| FTPMETHOD_MULTICWD
| FTPMETHOD_NOCWD
| FTPMETHOD_SINGLECWD
type curlSSHAuthTypes = 
| SSHAUTH_ANY
| SSHAUTH_PUBLICKEY
| SSHAUTH_PASSWORD
| SSHAUTH_HOST
| SSHAUTH_KEYBOARD
type curlFTPSSLCCC = 
| FTPSSL_CCC_NONE
| FTPSSL_CCC_PASSIVE
| FTPSSL_CCC_ACTIVE
type curlSeek = 
| SEEK_SET
| SEEK_CUR
| SEEK_END
type curlProxyType = 
| CURLPROXY_HTTP
| CURLPROXY_HTTP_1_0 (*
since libcurl 7.19.4
*)
| CURLPROXY_SOCKS4 (*
since libcurl 7.15.2
*)
| CURLPROXY_SOCKS5
| CURLPROXY_SOCKS4A (*
since libcurl 7.18.0
*)
| CURLPROXY_SOCKS5_HOSTNAME (*
since libcurl 7.18.0
*)
type curlProto = 
| CURLPROTO_ALL (*
enable everything
*)
| CURLPROTO_HTTP
| CURLPROTO_HTTPS
| CURLPROTO_FTP
| CURLPROTO_FTPS
| CURLPROTO_SCP
| CURLPROTO_SFTP
| CURLPROTO_TELNET
| CURLPROTO_LDAP
| CURLPROTO_LDAPS
| CURLPROTO_DICT
| CURLPROTO_FILE
| CURLPROTO_TFTP
| CURLPROTO_IMAP
| CURLPROTO_IMAPS
| CURLPROTO_POP3
| CURLPROTO_POP3S
| CURLPROTO_SMTP
| CURLPROTO_SMTPS
| CURLPROTO_RTSP
| CURLPROTO_RTMP
| CURLPROTO_RTMPT
| CURLPROTO_RTMPE
| CURLPROTO_RTMPTE
| CURLPROTO_RTMPS
| CURLPROTO_RTMPTS
| CURLPROTO_GOPHER
Protocols to enable (via CURLOPT_PROTOCOLS and CURLOPT_REDIR_PROTOCOLS)
type curlOption = 
| CURLOPT_WRITEFUNCTION of (string -> int)
| CURLOPT_READFUNCTION of (int -> string)
| CURLOPT_INFILESIZE of int
| CURLOPT_URL of string
| CURLOPT_PROXY of string
| CURLOPT_PROXYPORT of int
| CURLOPT_HTTPPROXYTUNNEL of bool
| CURLOPT_VERBOSE of bool
| CURLOPT_HEADER of bool
| CURLOPT_NOPROGRESS of bool
| CURLOPT_NOSIGNAL of bool
| CURLOPT_NOBODY of bool
| CURLOPT_FAILONERROR of bool
| CURLOPT_UPLOAD of bool
| CURLOPT_POST of bool
| CURLOPT_FTPLISTONLY of bool
| CURLOPT_FTPAPPEND of bool
| CURLOPT_NETRC of curlNETRCOption
| CURLOPT_ENCODING of curlEncoding
| CURLOPT_FOLLOWLOCATION of bool
| CURLOPT_TRANSFERTEXT of bool
| CURLOPT_PUT of bool
| CURLOPT_USERPWD of string
| CURLOPT_PROXYUSERPWD of string
| CURLOPT_RANGE of string
| CURLOPT_ERRORBUFFER of string Pervasives.ref
| CURLOPT_TIMEOUT of int
| CURLOPT_POSTFIELDS of string
| CURLOPT_POSTFIELDSIZE of int
| CURLOPT_REFERER of string
| CURLOPT_USERAGENT of string
| CURLOPT_FTPPORT of string
| CURLOPT_LOWSPEEDLIMIT of int
| CURLOPT_LOWSPEEDTIME of int
| CURLOPT_RESUMEFROM of int
| CURLOPT_COOKIE of string
| CURLOPT_HTTPHEADER of string list
| CURLOPT_HTTPPOST of curlHTTPPost list
| CURLOPT_SSLCERT of string
| CURLOPT_SSLCERTTYPE of string
| CURLOPT_SSLCERTPASSWD of string
| CURLOPT_SSLKEY of string
| CURLOPT_SSLKEYTYPE of string
| CURLOPT_SSLKEYPASSWD of string
| CURLOPT_SSLENGINE of string
| CURLOPT_SSLENGINEDEFAULT of bool
| CURLOPT_CRLF of bool
| CURLOPT_QUOTE of string list
| CURLOPT_POSTQUOTE of string list
| CURLOPT_HEADERFUNCTION of (string -> int)
| CURLOPT_COOKIEFILE of string
| CURLOPT_SSLVERSION of curlSSLVersion
| CURLOPT_TIMECONDITION of curlTimeCondition
| CURLOPT_TIMEVALUE of int32
| CURLOPT_CUSTOMREQUEST of string
| CURLOPT_INTERFACE of string
| CURLOPT_KRB4LEVEL of curlKRB4Level
| CURLOPT_PROGRESSFUNCTION of (float -> float -> float -> float -> bool)
| CURLOPT_SSLVERIFYPEER of bool
| CURLOPT_CAINFO of string
| CURLOPT_CAPATH of string
| CURLOPT_FILETIME of bool
| CURLOPT_MAXREDIRS of int
| CURLOPT_MAXCONNECTS of int
| CURLOPT_CLOSEPOLICY of curlClosePolicy
| CURLOPT_FRESHCONNECT of bool
| CURLOPT_FORBIDREUSE of bool
| CURLOPT_RANDOMFILE of string
| CURLOPT_EGDSOCKET of string
| CURLOPT_CONNECTTIMEOUT of int
| CURLOPT_HTTPGET of bool
| CURLOPT_SSLVERIFYHOST of curlSSLVerifyHost
| CURLOPT_COOKIEJAR of string
| CURLOPT_SSLCIPHERLIST of string
| CURLOPT_HTTPVERSION of curlHTTPVersion
| CURLOPT_FTPUSEEPSV of bool
| CURLOPT_DNSCACHETIMEOUT of int
| CURLOPT_DNSUSEGLOBALCACHE of bool
| CURLOPT_DEBUGFUNCTION of (t -> curlDebugType -> string -> unit)
| CURLOPT_PRIVATE of string
| CURLOPT_HTTP200ALIASES of string list
| CURLOPT_UNRESTRICTEDAUTH of bool
| CURLOPT_FTPUSEEPRT of bool
| CURLOPT_HTTPAUTH of curlAuth list
| CURLOPT_FTPCREATEMISSINGDIRS of bool
| CURLOPT_PROXYAUTH of curlAuth list
| CURLOPT_FTPRESPONSETIMEOUT of int
| CURLOPT_IPRESOLVE of curlIPResolve
| CURLOPT_MAXFILESIZE of int32
| CURLOPT_INFILESIZELARGE of int64
| CURLOPT_RESUMEFROMLARGE of int64
| CURLOPT_MAXFILESIZELARGE of int64
| CURLOPT_NETRCFILE of string
| CURLOPT_FTPSSL of curlFTPSSL
| CURLOPT_POSTFIELDSIZELARGE of int64
| CURLOPT_TCPNODELAY of bool
| CURLOPT_FTPSSLAUTH of curlFTPSSLAuth
| CURLOPT_IOCTLFUNCTION of (t -> curlIOCmd -> curlIOErr)
| CURLOPT_FTPACCOUNT of string
| CURLOPT_COOKIELIST of string
| CURLOPT_IGNORECONTENTLENGTH of bool
| CURLOPT_FTPSKIPPASVIP of bool
| CURLOPT_FTPFILEMETHOD of curlFTPMethod
| CURLOPT_LOCALPORT of int
| CURLOPT_LOCALPORTRANGE of int
| CURLOPT_CONNECTONLY of bool
| CURLOPT_MAXSENDSPEEDLARGE of int64
| CURLOPT_MAXRECVSPEEDLARGE of int64
| CURLOPT_FTPALTERNATIVETOUSER of string
| CURLOPT_SSLSESSIONIDCACHE of bool
| CURLOPT_SSHAUTHTYPES of curlSSHAuthTypes list
| CURLOPT_SSHPUBLICKEYFILE of string
| CURLOPT_SSHPRIVATEKEYFILE of string
| CURLOPT_FTPSSLCCC of curlFTPSSLCCC
| CURLOPT_TIMEOUTMS of int
| CURLOPT_CONNECTTIMEOUTMS of int
| CURLOPT_HTTPTRANSFERDECODING of bool
| CURLOPT_HTTPCONTENTDECODING of bool
| CURLOPT_NEWFILEPERMS of int
| CURLOPT_NEWDIRECTORYPERMS of int
| CURLOPT_POST301 of bool
| CURLOPT_SSHHOSTPUBLICKEYMD5 of string
| CURLOPT_COPYPOSTFIELDS of string
| CURLOPT_PROXYTRANSFERMODE of bool
| CURLOPT_SEEKFUNCTION of (int64 -> curlSeek -> curlSeekResult)
| CURLOPT_AUTOREFERER of bool
| CURLOPT_OPENSOCKETFUNCTION of (Unix.file_descr -> unit)
| CURLOPT_PROXYTYPE of curlProxyType
| CURLOPT_PROTOCOLS of curlProto list
| CURLOPT_REDIR_PROTOCOLS of curlProto list
| CURLOPT_RESOLVE of string list
| CURLOPT_DNS_SERVERS of string
| CURLOPT_MAIL_FROM of string
| CURLOPT_MAIL_RCPT of string list
| CURLOPT_PIPEWAIT of bool
| CURLOPT_CERTINFO of bool
type initOption = 
| CURLINIT_GLOBALALL
| CURLINIT_GLOBALSSL
| CURLINIT_GLOBALWIN32
| CURLINIT_GLOBALNOTHING
type curlInfo = 
| CURLINFO_EFFECTIVE_URL
| CURLINFO_HTTP_CODE
| CURLINFO_RESPONSE_CODE
| CURLINFO_TOTAL_TIME
| CURLINFO_NAMELOOKUP_TIME
| CURLINFO_CONNECT_TIME
| CURLINFO_PRETRANSFER_TIME
| CURLINFO_SIZE_UPLOAD
| CURLINFO_SIZE_DOWNLOAD
| CURLINFO_SPEED_DOWNLOAD
| CURLINFO_SPEED_UPLOAD
| CURLINFO_HEADER_SIZE
| CURLINFO_REQUEST_SIZE
| CURLINFO_SSL_VERIFYRESULT
| CURLINFO_FILETIME
| CURLINFO_CONTENT_LENGTH_DOWNLOAD
| CURLINFO_CONTENT_LENGTH_UPLOAD
| CURLINFO_STARTTRANSFER_TIME
| CURLINFO_CONTENT_TYPE
| CURLINFO_REDIRECT_TIME
| CURLINFO_REDIRECT_COUNT
| CURLINFO_PRIVATE
| CURLINFO_HTTP_CONNECTCODE
| CURLINFO_HTTPAUTH_AVAIL
| CURLINFO_PROXYAUTH_AVAIL
| CURLINFO_OS_ERRNO
| CURLINFO_NUM_CONNECTS
| CURLINFO_SSL_ENGINES
| CURLINFO_COOKIELIST
| CURLINFO_LASTSOCKET
| CURLINFO_FTP_ENTRY_PATH
| CURLINFO_REDIRECT_URL
| CURLINFO_PRIMARY_IP
| CURLINFO_LOCAL_IP
| CURLINFO_LOCAL_PORT
| CURLINFO_CONDITION_UNMET
| CURLINFO_CERTINFO
type curlInfoResult = 
| CURLINFO_String of string
| CURLINFO_Long of int
| CURLINFO_Double of float
| CURLINFO_StringList of string list
| CURLINFO_StringListList of string list list
type version_info = {
   version : string;
   number : int * int * int;
   host : string;
   features : string list;
   ssl_version : string option;
   libz_version : string option;
   protocols : string list;
   ares : string; (*
starting from this field are optional features - may be empty/zero
*)
   ares_num : int;
   libidn : string;
   iconv_ver_num : int;
   libssh_version : string;
}
type pauseOption = 
| PAUSE_SEND
| PAUSE_RECV
| PAUSE_ALL

curl_easy API


val global_init : initOption -> unit
val global_cleanup : unit -> unit
val init : unit -> t
val reset : t -> unit
Reset t to the default state
val duphandle : t -> t
Create the new handle, copying all the options from the supplied t. Note that it will also copy set_writefunction options and alike, as such both handles (original and new one) will be referencing the same closures, potentially sharing some state, which may lead to surprising results.
val setopt : t -> curlOption -> unit
Raises NotImplemented for not implemented option
val perform : t -> unit
val cleanup : t -> unit
val getinfo : t -> curlInfo -> curlInfoResult
val escape : string -> string
val unescape : string -> string
val getdate : string -> float -> float
val version : unit -> string
val strerror : curlCode -> string
val errno : curlCode -> int
val version_info : unit -> version_info
val pause : t -> pauseOption list -> unit

Set transfer options

All callback functions shouldn't raise exceptions. Any exception raised in callback function will be silently caught and discared, and transfer will be aborted.

val set_writefunction : t -> (string -> int) -> unit
val set_readfunction : t -> (int -> string) -> unit
readfunction n should return string of length at most n, otherwise transfer will be aborted (as if with exception)
val set_infilesize : t -> int -> unit
val set_url : t -> string -> unit
val set_proxy : t -> string -> unit
val set_proxyport : t -> int -> unit
val set_httpproxytunnel : t -> bool -> unit
val set_verbose : t -> bool -> unit
val set_header : t -> bool -> unit
val set_noprogress : t -> bool -> unit
val set_nosignal : t -> bool -> unit
val set_nobody : t -> bool -> unit
val set_failonerror : t -> bool -> unit
val set_upload : t -> bool -> unit
val set_post : t -> bool -> unit
val set_ftplistonly : t -> bool -> unit
val set_ftpappend : t -> bool -> unit
val set_netrc : t -> curlNETRCOption -> unit
val set_encoding : t -> curlEncoding -> unit
val set_followlocation : t -> bool -> unit
val set_transfertext : t -> bool -> unit
val set_put : t -> bool -> unit
val set_userpwd : t -> string -> unit
val set_proxyuserpwd : t -> string -> unit
val set_range : t -> string -> unit
val set_errorbuffer : t -> string Pervasives.ref -> unit
val set_timeout : t -> int -> unit
val set_postfields : t -> string -> unit
val set_postfieldsize : t -> int -> unit
val set_referer : t -> string -> unit
val set_useragent : t -> string -> unit
val set_ftpport : t -> string -> unit
val set_lowspeedlimit : t -> int -> unit
val set_lowspeedtime : t -> int -> unit
val set_resumefrom : t -> int -> unit
val set_cookie : t -> string -> unit
val set_httpheader : t -> string list -> unit
val set_httppost : t -> curlHTTPPost list -> unit
val set_sslcert : t -> string -> unit
val set_sslcerttype : t -> string -> unit
val set_sslcertpasswd : t -> string -> unit
val set_sslkey : t -> string -> unit
val set_sslkeytype : t -> string -> unit
val set_sslkeypasswd : t -> string -> unit
val set_sslengine : t -> string -> unit
val set_sslenginedefault : t -> bool -> unit
val set_certinfo : t -> bool -> unit
val set_crlf : t -> bool -> unit
val set_quote : t -> string list -> unit
val set_postquote : t -> string list -> unit
val set_headerfunction : t -> (string -> int) -> unit
val set_cookiefile : t -> string -> unit
val set_sslversion : t -> curlSSLVersion -> unit
val set_timecondition : t -> curlTimeCondition -> unit
val set_timevalue : t -> int32 -> unit
val set_customrequest : t -> string -> unit
val set_interface : t -> string -> unit
val set_krb4level : t -> curlKRB4Level -> unit
val set_progressfunction : t -> (float -> float -> float -> float -> bool) -> unit
val set_sslverifypeer : t -> bool -> unit
val set_cainfo : t -> string -> unit
val set_capath : t -> string -> unit
val set_filetime : t -> bool -> unit
val set_maxredirs : t -> int -> unit
val set_maxconnects : t -> int -> unit
val set_closepolicy : t -> curlClosePolicy -> unit
val set_freshconnect : t -> bool -> unit
val set_forbidreuse : t -> bool -> unit
val set_randomfile : t -> string -> unit
val set_egdsocket : t -> string -> unit
val set_connecttimeout : t -> int -> unit
val set_httpget : t -> bool -> unit
val set_sslverifyhost : t -> curlSSLVerifyHost -> unit
val set_cookiejar : t -> string -> unit
val set_sslcipherlist : t -> string -> unit
val set_httpversion : t -> curlHTTPVersion -> unit
val set_ftpuseepsv : t -> bool -> unit
val set_dnscachetimeout : t -> int -> unit
val set_dnsuseglobalcache : t -> bool -> unit
val set_debugfunction : t -> (t -> curlDebugType -> string -> unit) -> unit
val set_private : t -> string -> unit
val set_http200aliases : t -> string list -> unit
val set_unrestrictedauth : t -> bool -> unit
val set_ftpuseeprt : t -> bool -> unit
val set_httpauth : t -> curlAuth list -> unit
val set_ftpcreatemissingdirs : t -> bool -> unit
val set_proxyauth : t -> curlAuth list -> unit
val set_ftpresponsetimeout : t -> int -> unit
val set_ipresolve : t -> curlIPResolve -> unit
val set_maxfilesize : t -> int32 -> unit
val set_infilesizelarge : t -> int64 -> unit
val set_resumefromlarge : t -> int64 -> unit
val set_maxfilesizelarge : t -> int64 -> unit
val set_netrcfile : t -> string -> unit
val set_ftpssl : t -> curlFTPSSL -> unit
val set_postfieldsizelarge : t -> int64 -> unit
val set_tcpnodelay : t -> bool -> unit
val set_ftpsslauth : t -> curlFTPSSLAuth -> unit
val set_ioctlfunction : t -> (t -> curlIOCmd -> curlIOErr) -> unit
val set_ftpaccount : t -> string -> unit
val set_cookielist : t -> string -> unit
val set_ignorecontentlength : t -> bool -> unit
val set_ftpskippasvip : t -> bool -> unit
val set_ftpfilemethod : t -> curlFTPMethod -> unit
val set_localport : t -> int -> unit
val set_localportrange : t -> int -> unit
val set_connectonly : t -> bool -> unit
val set_maxsendspeedlarge : t -> int64 -> unit
val set_maxrecvspeedlarge : t -> int64 -> unit
val set_ftpalternativetouser : t -> string -> unit
val set_sslsessionidcache : t -> bool -> unit
val set_sshauthtypes : t -> curlSSHAuthTypes list -> unit
val set_sshpublickeyfile : t -> string -> unit
val set_sshprivatekeyfile : t -> string -> unit
val set_ftpsslccc : t -> curlFTPSSLCCC -> unit
val set_timeoutms : t -> int -> unit
val set_connecttimeoutms : t -> int -> unit
val set_httptransferdecoding : t -> bool -> unit
val set_httpcontentdecoding : t -> bool -> unit
val set_newfileperms : t -> int -> unit
val set_newdirectoryperms : t -> int -> unit
val set_post301 : t -> bool -> unit
val set_sshhostpublickeymd5 : t -> string -> unit
val set_copypostfields : t -> string -> unit
val set_proxytransfermode : t -> bool -> unit
val set_seekfunction : t -> (int64 -> curlSeek -> curlSeekResult) -> unit
val set_autoreferer : t -> bool -> unit
val set_opensocketfunction : t -> (Unix.file_descr -> unit) -> unit
val set_proxytype : t -> curlProxyType -> unit
val set_protocols : t -> curlProto list -> unit
val set_redirprotocols : t -> curlProto list -> unit
val set_resolve : t -> (string * int * string) list -> (string * int) list -> unit
set_resolve t add del adjusts builtin dns mapping
val set_dns_servers : t -> string list -> unit
val set_mailfrom : t -> string -> unit
val set_mailrcpt : t -> string list -> unit
val set_pipewait : t -> bool -> unit

Get transfer properties


val get_effectiveurl : t -> string
val get_redirecturl : t -> string
val get_httpcode : t -> int
val get_responsecode : t -> int
val get_totaltime : t -> float
val get_namelookuptime : t -> float
val get_connecttime : t -> float
val get_pretransfertime : t -> float
val get_sizeupload : t -> float
val get_sizedownload : t -> float
val get_speeddownload : t -> float
val get_speedupload : t -> float
val get_headersize : t -> int
val get_requestsize : t -> int
val get_sslverifyresult : t -> int
val get_filetime : t -> float
val get_contentlengthdownload : t -> float
val get_contentlengthupload : t -> float
val get_starttransfertime : t -> float
val get_contenttype : t -> string
val get_redirecttime : t -> float
val get_redirectcount : t -> int
val get_private : t -> string
val get_httpconnectcode : t -> int
val get_httpauthavail : t -> curlAuth list
val get_proxyauthavail : t -> curlAuth list
val get_oserrno : t -> int
val get_numconnects : t -> int
val get_sslengines : t -> string list
val get_cookielist : t -> string list
val get_lastsocket : t -> int
val get_ftpentrypath : t -> string
val get_primaryip : t -> string
val get_localip : t -> string
Since 0.5.5 (libcurl 7.21.0)
val get_localport : t -> int
Since 0.5.5 (libcurl 7.21.0)
val get_conditionunmet : t -> bool
Since 0.6.1 (libcurl 7.19.4)
val get_certinfo : t -> string list list

Object interface


class handle : object .. end

curl_multi API


module Multi: sig .. end
Curl multi stack.