创建CURL客户端
创建字符串列表,可选指定一个字符串参数
解析字符串并返回GMT时间,
支持格式参考 http://curl.haxx.se/libcurl/c/curl_getdate.html
创建字符串列表,可选指定一个字符串参数
创建CURL批量任务管理器
根据错误代码返回错误信息
所有curl扩展库的函数如果未加特别说明,
出错时默认都是第一个返回值为null,第二个返回值为错误代码
根据错误代码返回错误信息
所有curl扩展库的函数如果未加特别说明,
出错时默认都是第一个返回值为null,第二个返回值为错误代码
关闭对象
执行请求
GET方法下载网页
除URL外,其他为可选参数
出错返回值为:null,错误代码
成功返回字符串对象.
返回HTTP信息
参数一为 CURLINFO 前缀的常量,
参数2必须是对应的静态结构体
curlEasyObject.onProgress = function(buffer,downloadTotal,downloadNow,uploadTotal,uploadNow){
..io.print( downloadTotal,downloadNow)
}
curlEasyObject.onReceive = function(buffer,size,nmemb){
..io.print( ..raw.tostring(buffer,1,nmemb) )
return nmemb;
}
curlEasyObject.onSend = function(buffer,size,nmemb){
..io.print( ..raw.tostring(buffer,1,nmemb) )
return nmemb;
}
POST方法下载网页
post数据可以是字符串,也可以是指定表单键值对的table对象
除URL与post数据以外,其他为可选参数
出错返回值为:null,错误代码
成功返回字符串对象.
重置会话,清空所有状态
= CA根证书路径,
无参数则设置为"~\lib\curl.res\ca-bundle.crt"
参数为可选参数,
可以指定不存在的目录
设置HTTP头,可添加任意个参数,
每个参数为使用冒号分隔键值的字符串
修改设置
参数为指定上传数据的字符串
多个键使用&符号分隔
参数一为指定上传表单多个键值对的table对象,
参数2为可选参数
指定以multipart/form-data方式上传文件
参数一为指定上传表单多个键值对的table对象,
文件路径前请添加"@"字符表示文件路径,例如
file="@\test.jpg"
显示调试信息,
需要在import curl之前打开控制台
添加到表单
n参数一为指定上传表单多个键值对的table对象
该函数成功返回对象自身,失败返回null,错误信息
释放对象,该函数在内存回收时自动触发
添加字符串,可添加任意多个字符串参数
该函数返回对象自身
释放对象,该函数在内存回收时自动触发
添加一个客户端
移除所有任务并关闭对象
var mrc,active
do {
do {
mrc,active = curlMultiObject.exec();
sleep(100)
} while ( mrc= -1/*_CURLM_CALL_MULTI_PERFORM*/)
if( manage.select(0) == -1/*_SOCKET_ERROR*/ )
break;
}while( mrc==0 & active)
读取错误信息
读取消息队列,
返回消息结构体,剩余消息数
移除一个客户端
当一个套接字或一组套接字有信号时返回
返回值为-1/*_SOCKET_ERROR*/表示出错
所有参数可选,
不指定超时则一直等待,
超时为0则立即返回
等待连接耗时
内容编码
文件创建时间
header的大小
代理服务器响应代码
DNS查询耗时
传输前准备耗时
跳转技术
重定向耗时
重定向URL
请求的大小
服务器响应代码
可用于获取HTTP状态码
下载数据的大小
上传数据的大小
下载速度
上传速度
SSL验证结果
开始传输的时间
总耗时
上传内容的长度
资源网络地址
客户端对话会话句柄
消息ID
返回代码,0为成功
_CURLFORM_ARRAY=8
_CURLFORM_BUFFER=0xB
_CURLFORM_BUFFERLENGTH=0xD
_CURLFORM_BUFFERPTR=0xC
_CURLFORM_CONTENTHEADER=0xF
_CURLFORM_CONTENTSLENGTH=6
_CURLFORM_CONTENTTYPE=0xE
_CURLFORM_COPYCONTENTS=4
_CURLFORM_COPYNAME=1
_CURLFORM_END=0x11
_CURLFORM_FILE=0xA
_CURLFORM_FILECONTENT=7
_CURLFORM_FILENAME=0x10
_CURLFORM_NAMELENGTH=3
_CURLFORM_OBSOLETE=9
_CURLFORM_OBSOLETE2=0x12
_CURLFORM_PTRCONTENTS=5
_CURLFORM_PTRNAME=2
_CURLFORM_STREAM=0x13
_CURLINFO_APPCONNECT_TIME=0x300021
_CURLINFO_CERTINFO=0x400022
_CURLINFO_CONDITION_UNMET=0x200023
_CURLINFO_CONNECT_TIME=0x300005
_CURLINFO_CONTENT_LENGTH_DOWNLOAD=0x30000F
_CURLINFO_CONTENT_LENGTH_UPLOAD=0x300010
_CURLINFO_CONTENT_TYPE=0x100012
_CURLINFO_COOKIELIST=0x40001C
_CURLINFO_EFFECTIVE_URL=0x100001
_CURLINFO_FILETIME=0x20000E
_CURLINFO_FTP_ENTRY_PATH=0x10001E
_CURLINFO_HEADER_SIZE=0x20000B
_CURLINFO_HTTPAUTH_AVAIL=0x200017
_CURLINFO_HTTP_CONNECTCODE=0x200016
_CURLINFO_LASTONE=0x2A
_CURLINFO_LASTSOCKET=0x20001D
_CURLINFO_LOCAL_IP=0x100029
_CURLINFO_LOCAL_PORT=0x20002A
_CURLINFO_NAMELOOKUP_TIME=0x300004
_CURLINFO_NONE=0
_CURLINFO_NUM_CONNECTS=0x20001A
_CURLINFO_OS_ERRNO=0x200019
_CURLINFO_PRETRANSFER_TIME=0x300006
_CURLINFO_PRIMARY_IP=0x100020
_CURLINFO_PRIMARY_PORT=0x200028
_CURLINFO_PRIVATE=0x100015
_CURLINFO_PROXYAUTH_AVAIL=0x200018
_CURLINFO_REDIRECT_COUNT=0x200014
_CURLINFO_REDIRECT_TIME=0x300013
_CURLINFO_REDIRECT_URL=0x10001F
_CURLINFO_REQUEST_SIZE=0x20000C
_CURLINFO_RESPONSE_CODE=0x200002
_CURLINFO_RTSP_CLIENT_CSEQ=0x200025
_CURLINFO_RTSP_CSEQ_RECV=0x200027
_CURLINFO_RTSP_SERVER_CSEQ=0x200026
_CURLINFO_RTSP_SESSION_ID=0x100024
_CURLINFO_SIZE_DOWNLOAD=0x300008
_CURLINFO_SIZE_UPLOAD=0x300007
_CURLINFO_SPEED_DOWNLOAD=0x300009
_CURLINFO_SPEED_UPLOAD=0x30000A
_CURLINFO_SSL_ENGINES=0x40001B
_CURLINFO_SSL_VERIFYRESULT=0x20000D
_CURLINFO_STARTTRANSFER_TIME=0x300011
_CURLINFO_TOTAL_TIME=0x300003
_CURLM_CALL_MULTI_PERFORM=-1
_CURLM_OK=0
_CURLOPT_ACCEPTTIMEOUT_MS=0xD4
_CURLOPT_ACCEPT_ENCODING=0x2776
_CURLOPT_ADDRESS_SCOPE=0xAB
_CURLOPT_APPEND=0x32
_CURLOPT_AUTOREFERER=0x3A
_CURLOPT_BUFFERSIZE=0x62
_CURLOPT_CAINFO=0x2751
_CURLOPT_CAPATH=0x2771
_CURLOPT_CERTINFO=0xAC
_CURLOPT_CHUNK_BGN_FUNCTION=0x4EE6
_CURLOPT_CHUNK_DATA=0x27D9
_CURLOPT_CHUNK_END_FUNCTION=0x4EE7
_CURLOPT_CLOSEPOLICY=0x48
_CURLOPT_CLOSESOCKETDATA=0x27E1
_CURLOPT_CLOSESOCKETFUNCTION=0x4EF0
_CURLOPT_CONNECTTIMEOUT=0x4E
_CURLOPT_CONNECTTIMEOUT_MS=0x9C
_CURLOPT_CONNECT_ONLY=0x8D
_CURLOPT_CONV_FROM_NETWORK_FUNCTION=0x4EAE
_CURLOPT_CONV_FROM_UTF8_FUNCTION=0x4EB0
_CURLOPT_CONV_TO_NETWORK_FUNCTION=0x4EAF
_CURLOPT_COOKIE=0x2726
_CURLOPT_COOKIEFILE=0x272F
_CURLOPT_COOKIEJAR=0x2762
_CURLOPT_COOKIELIST=0x2797
_CURLOPT_COOKIESESSION=0x60
_CURLOPT_COPYPOSTFIELDS=0x27B5
_CURLOPT_CRLF=0x1B
_CURLOPT_CRLFILE=0x27B9
_CURLOPT_CUSTOMREQUEST=0x2734
_CURLOPT_DEBUGDATA=0x276F
_CURLOPT_DEBUGFUNCTION=0x4E7E
_CURLOPT_DIRLISTONLY=0x30
_CURLOPT_DNS_CACHE_TIMEOUT=0x5C
_CURLOPT_DNS_SERVERS=0x27E3
_CURLOPT_DNS_USE_GLOBAL_CACHE=0x5B
_CURLOPT_EGDSOCKET=0x275D
_CURLOPT_ERRORBUFFER=0x271A
_CURLOPT_FAILONERROR=0x2D
_CURLOPT_FILE=0x2711
_CURLOPT_FILETIME=0x45
_CURLOPT_FNMATCH_DATA=0x27DA
_CURLOPT_FNMATCH_FUNCTION=0x4EE8
_CURLOPT_FOLLOWLOCATION=0x34
_CURLOPT_FORBID_REUSE=0x4B
_CURLOPT_FRESH_CONNECT=0x4A
_CURLOPT_FTPPORT=0x2721
_CURLOPT_FTPSSLAUTH=0x81
_CURLOPT_FTP_ACCOUNT=0x2796
_CURLOPT_FTP_ALTERNATIVE_TO_USER=0x27A3
_CURLOPT_FTP_CREATE_MISSING_DIRS=0x6E
_CURLOPT_FTP_FILEMETHOD=0x8A
_CURLOPT_FTP_RESPONSE_TIMEOUT=0x70
_CURLOPT_FTP_SKIP_PASV_IP=0x89
_CURLOPT_FTP_SSL_CCC=0x9A
_CURLOPT_FTP_USE_EPRT=0x6A
_CURLOPT_FTP_USE_EPSV=0x55
_CURLOPT_FTP_USE_PRET=0xBC
_CURLOPT_GSSAPI_DELEGATION=0xD2
_CURLOPT_HEADER=0x2A
_CURLOPT_HEADERFUNCTION=0x4E6F
_CURLOPT_HTTP200ALIASES=0x2778
_CURLOPT_HTTPAUTH=0x6B
_CURLOPT_HTTPGET=0x50
_CURLOPT_HTTPHEADER=0x2727
_CURLOPT_HTTPPOST=0x2728
_CURLOPT_HTTPPROXYTUNNEL=0x3D
_CURLOPT_HTTP_CONTENT_DECODING=0x9E
_CURLOPT_HTTP_TRANSFER_DECODING=0x9D
_CURLOPT_HTTP_VERSION=0x54
_CURLOPT_IGNORE_CONTENT_LENGTH=0x88
_CURLOPT_INFILE=0x2719
_CURLOPT_INFILESIZE=0xE
_CURLOPT_INFILESIZE_LARGE=0x75A3
_CURLOPT_INTERFACE=0x274E
_CURLOPT_INTERLEAVEDATA=0x27D3
_CURLOPT_INTERLEAVEFUNCTION=0x4EE4
_CURLOPT_IOCTLDATA=0x2793
_CURLOPT_IOCTLFUNCTION=0x4EA2
_CURLOPT_IPRESOLVE=0x71
_CURLOPT_ISSUERCERT=0x27BA
_CURLOPT_KEYPASSWD=0x272A
_CURLOPT_KRBLEVEL=0x274F
_CURLOPT_LOCALPORT=0x8B
_CURLOPT_LOCALPORTRANGE=0x8C
_CURLOPT_LOW_SPEED_LIMIT=0x13
_CURLOPT_LOW_SPEED_TIME=0x14
_CURLOPT_MAIL_AUTH=0x27E9
_CURLOPT_MAIL_FROM=0x27CA
_CURLOPT_MAIL_RCPT=0x27CB
_CURLOPT_MAXCONNECTS=0x47
_CURLOPT_MAXFILESIZE=0x72
_CURLOPT_MAXFILESIZE_LARGE=0x75A5
_CURLOPT_MAXREDIRS=0x44
_CURLOPT_MAX_RECV_SPEED_LARGE=0x75C2
_CURLOPT_MAX_SEND_SPEED_LARGE=0x75C1
_CURLOPT_NETRC=0x33
_CURLOPT_NETRC_FILE=0x2786
_CURLOPT_NEW_DIRECTORY_PERMS=0xA0
_CURLOPT_NEW_FILE_PERMS=0x9F
_CURLOPT_NOBODY=0x2C
_CURLOPT_NOPROGRESS=0x2B
_CURLOPT_NOPROXY=0x27C1
_CURLOPT_NOSIGNAL=0x63
_CURLOPT_OPENSOCKETDATA=0x27B4
_CURLOPT_OPENSOCKETFUNCTION=0x4EC3
_CURLOPT_PASSWORD=0x27BE
_CURLOPT_PORT=3
_CURLOPT_POST=0x2F
_CURLOPT_POSTFIELDS=0x271F
_CURLOPT_POSTFIELDSIZE=0x3C
_CURLOPT_POSTFIELDSIZE_LARGE=0x75A8
_CURLOPT_POSTQUOTE=0x2737
_CURLOPT_POSTREDIR=0xA1
_CURLOPT_PREQUOTE=0x276D
_CURLOPT_PRIVATE=0x2777
_CURLOPT_PROGRESSDATA=0x2749
_CURLOPT_PROGRESSFUNCTION=0x4E58
_CURLOPT_PROTOCOLS=0xB5
_CURLOPT_PROXY=0x2714
_CURLOPT_PROXYAUTH=0x6F
_CURLOPT_PROXYPASSWORD=0x27C0
_CURLOPT_PROXYPORT=0x3B
_CURLOPT_PROXYTYPE=0x65
_CURLOPT_PROXYUSERNAME=0x27BF
_CURLOPT_PROXYUSERPWD=0x2716
_CURLOPT_PROXY_TRANSFER_MODE=0xA6
_CURLOPT_PUT=0x36
_CURLOPT_QUOTE=0x272C
_CURLOPT_RANDOM_FILE=0x275C
_CURLOPT_RANGE=0x2717
_CURLOPT_READFUNCTION=0x4E2C
_CURLOPT_REDIR_PROTOCOLS=0xB6
_CURLOPT_REFERER=0x2720
_CURLOPT_RESOLVE=0x27DB
_CURLOPT_RESUME_FROM=0x15
_CURLOPT_RESUME_FROM_LARGE=0x75A4
_CURLOPT_RTSP_CLIENT_CSEQ=0xC1
_CURLOPT_RTSP_REQUEST=0xBD
_CURLOPT_RTSP_SERVER_CSEQ=0xC2
_CURLOPT_RTSP_SESSION_ID=0x27CE
_CURLOPT_RTSP_STREAM_URI=0x27CF
_CURLOPT_RTSP_TRANSPORT=0x27D0
_CURLOPT_SEEKDATA=0x27B8
_CURLOPT_SEEKFUNCTION=0x4EC7
_CURLOPT_SHARE=0x2774
_CURLOPT_SOCKOPTDATA=0x27A5
_CURLOPT_SOCKOPTFUNCTION=0x4EB4
_CURLOPT_SOCKS5_GSSAPI_NEC=0xB4
_CURLOPT_SOCKS5_GSSAPI_SERVICE=0x27C3
_CURLOPT_SSH_AUTH_TYPES=0x97
_CURLOPT_SSH_HOST_PUBLIC_KEY_MD5=0x27B2
_CURLOPT_SSH_KEYDATA=0x27C9
_CURLOPT_SSH_KEYFUNCTION=0x4ED8
_CURLOPT_SSH_KNOWNHOSTS=0x27C7
_CURLOPT_SSH_PRIVATE_KEYFILE=0x27A9
_CURLOPT_SSH_PUBLIC_KEYFILE=0x27A8
_CURLOPT_SSLCERT=0x2729
_CURLOPT_SSLCERTTYPE=0x2766
_CURLOPT_SSLENGINE=0x2769
_CURLOPT_SSLENGINE_DEFAULT=0x5A
_CURLOPT_SSLKEY=0x2767
_CURLOPT_SSLKEYTYPE=0x2768
_CURLOPT_SSLVERSION=0x20
_CURLOPT_SSL_CIPHER_LIST=0x2763
_CURLOPT_SSL_CTX_DATA=0x277D
_CURLOPT_SSL_CTX_FUNCTION=0x4E8C
_CURLOPT_SSL_OPTIONS=0xD8
_CURLOPT_SSL_SESSIONID_CACHE=0x96
_CURLOPT_SSL_VERIFYHOST=0x51
_CURLOPT_SSL_VERIFYPEER=0x40
_CURLOPT_STDERR=0x2735
_CURLOPT_TCP_KEEPALIVE=0xD5
_CURLOPT_TCP_KEEPIDLE=0xD6
_CURLOPT_TCP_KEEPINTVL=0xD7
_CURLOPT_TCP_NODELAY=0x79
_CURLOPT_TELNETOPTIONS=0x2756
_CURLOPT_TFTP_BLKSIZE=0xB2
_CURLOPT_TIMECONDITION=0x21
_CURLOPT_TIMEOUT=0xD
_CURLOPT_TIMEOUT_MS=0x9B
_CURLOPT_TIMEVALUE=0x22
_CURLOPT_TLSAUTH_PASSWORD=0x27DD
_CURLOPT_TLSAUTH_TYPE=0x27DE
_CURLOPT_TLSAUTH_USERNAME=0x27DC
_CURLOPT_TRANSFERTEXT=0x35
_CURLOPT_TRANSFER_ENCODING=0xCF
_CURLOPT_UNRESTRICTED_AUTH=0x69
_CURLOPT_UPLOAD=0x2E
_CURLOPT_URL=0x2712
_CURLOPT_USERAGENT=0x2722
_CURLOPT_USERNAME=0x27BD
_CURLOPT_USERPWD=0x2715
_CURLOPT_USE_SSL=0x77
_CURLOPT_VERBOSE=0x29
_CURLOPT_WILDCARDMATCH=0xC5
_CURLOPT_WRITEFUNCTION=0x4E2B
_CURLOPT_WRITEHEADER=0x272D
_CURLOPT_WRITEINFO=0x2738