aardio 文档

curl 库模块帮助文档

curl 成员列表

curl.easy()

创建CURL客户端

返回对象:curlEasyObject

curl.form()

创建字符串列表,可选指定一个字符串参数

返回对象:curlFormObject

curl.getDate(字符串)

解析字符串并返回GMT时间,
支持格式参考 http://curl.haxx.se/libcurl/c/curl_getdate.html

curl.list()

创建字符串列表,可选指定一个字符串参数

返回对象:curlListObject

curl.multi()

创建CURL批量任务管理器

返回对象:curlMultiObject

curl.easy 成员列表

curl.easy.strerr()

根据错误代码返回错误信息
所有curl扩展库的函数如果未加特别说明,
出错时默认都是第一个返回值为null,第二个返回值为错误代码

curl.multi 成员列表

curl.multi.strerr()

根据错误代码返回错误信息
所有curl扩展库的函数如果未加特别说明,
出错时默认都是第一个返回值为null,第二个返回值为错误代码

curlEasyObject 成员列表

curlEasyObject.close()

关闭对象

curlEasyObject.exec()

执行请求

curlEasyObject.get(url,http头,引用网址,MIME)

GET方法下载网页
除URL外,其他为可选参数
出错返回值为:null,错误代码
成功返回字符串对象.

curlEasyObject.getInfo()

返回HTTP信息

返回对象:curlInfoObject

curlEasyObject.getInfo(ID,结构体)

参数一为 CURLINFO 前缀的常量,
参数2必须是对应的静态结构体

curlEasyObject.onProgress

curlEasyObject.onProgress = function(buffer,downloadTotal,downloadNow,uploadTotal,uploadNow){
    ..io.print( downloadTotal,downloadNow) 
}

curlEasyObject.onReceive

curlEasyObject.onReceive = function(buffer,size,nmemb){
    ..io.print( ..raw.tostring(buffer,1,nmemb) )
    return nmemb;
}

curlEasyObject.onSend

curlEasyObject.onSend = function(buffer,size,nmemb){
    ..io.print( ..raw.tostring(buffer,1,nmemb) )
    return nmemb;
}

curlEasyObject.post(url,post数据,http头,引用网址,MIME)

POST方法下载网页
post数据可以是字符串,也可以是指定表单键值对的table对象
除URL与post数据以外,其他为可选参数
出错返回值为:null,错误代码
成功返回字符串对象.

curlEasyObject.reset()

重置会话,清空所有状态

curlEasyObject.setCaInfo("CA证书路径")

= CA根证书路径,
无参数则设置为"~\lib\curl.res\ca-bundle.crt"

curlEasyObject.setCookieFile(Cookies目录)

参数为可选参数,
可以指定不存在的目录

curlEasyObject.setHttpHeader(HTTP头)

设置HTTP头,可添加任意个参数,
每个参数为使用冒号分隔键值的字符串

curlEasyObject.setOpt( CURLOPT ,)

修改设置

curlEasyObject.setPostData(上传数据)

参数为指定上传数据的字符串
多个键使用&符号分隔

curlEasyObject.setPostFields(表参数,是否UTF8)

参数一为指定上传表单多个键值对的table对象,
参数2为可选参数

curlEasyObject.setPostForm(上传表单)

指定以multipart/form-data方式上传文件
参数一为指定上传表单多个键值对的table对象,
文件路径前请添加"@"字符表示文件路径,例如
file="@\test.jpg"

curlEasyObject.setVerbose(true)

显示调试信息,
需要在import curl之前打开控制台

curlFormObject 成员列表

curlFormObject.add(1/*_CURLFORM_COPYNAME*/,"键名",4/*_CURLFORM_COPYCONTENTS*/,"值",0x11/*_CURLFORM_END*/)

添加到表单

curlFormObject.add(上传表单)

n参数一为指定上传表单多个键值对的table对象
该函数成功返回对象自身,失败返回null,错误信息

curlFormObject.free()

释放对象,该函数在内存回收时自动触发

curlListObject 成员列表

curlListObject.append(字符串)

添加字符串,可添加任意多个字符串参数
该函数返回对象自身

curlListObject.free()

释放对象,该函数在内存回收时自动触发

curlMultiObject 成员列表

curlMultiObject.add(CURL客户端)

添加一个客户端

curlMultiObject.close()

移除所有任务并关闭对象

curlMultiObject.exec()

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)

curlMultiObject.lasterr()

读取错误信息

curlMultiObject.readInfo()

读取消息队列,
返回消息结构体,剩余消息数

返回对象:curlMsginfoObject

curlMultiObject.remove(CURL客户端)

移除一个客户端

curlMultiObject.select(超时秒,超时微秒)

当一个套接字或一组套接字有信号时返回
返回值为-1/*_SOCKET_ERROR*/表示出错
所有参数可选,
不指定超时则一直等待,
超时为0则立即返回

curl_info 成员列表

curl_info.connectTime

等待连接耗时

curl_info.contentType

内容编码

curl_info.filetime

文件创建时间

curl_info.headerSize

header的大小

curl_info.httpCode

代理服务器响应代码

curl_info.namelookupTime

DNS查询耗时

curl_info.pretransferTime

传输前准备耗时

curl_info.redirectCount

跳转技术

curl_info.redirectTime

重定向耗时

curl_info.redirectUrl

重定向URL

curl_info.requestSize

请求的大小

curl_info.responseCode

服务器响应代码
可用于获取HTTP状态码

curl_info.sizeDownload

下载数据的大小

curl_info.sizeUpload

上传数据的大小

curl_info.speedDownload

下载速度

curl_info.speedUpload

上传速度

curl_info.sslVerifyResult

SSL验证结果

curl_info.starttransferTime

开始传输的时间

curl_info.totalTime

总耗时

curl_info.upload_contentLength

上传内容的长度

curl_info.url

资源网络地址

curl_msginfo 成员列表

curl_msginfo.easy_handle

客户端对话会话句柄

curl_msginfo.msg

消息ID

curl_msginfo.result

返回代码,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

Markdown 格式