curl.setopt
功能说明
描述
设置一个curl传输选项。
函数原型
curl.setopt(ch,option,value)
参数
名称 | 类型 | 描述 |
---|---|---|
ch | 整型 | 由 curl初始化会话() 返回的 curl 句柄 |
option | 整型 | 需要设置的CURLOPT_XXX选项,具体常量定义请参备注信息 |
value | 任意型 | 将设置在option选项上的值,详细查看备注信息 |
返回值
类型 | 描述 |
---|---|
逻辑型 | 设置成功返回True,设置失败返回False |
备注
可能出现的错误信息,执行 getlasterror 函数获取具体详细信息:
- 错误编码=getlasterror()
- 错误信息=getlasterror(1)
错误编码 | 错误信息 |
---|---|
1400 | 参数类型不正确 |
4000 | 无效的curl会话句柄 |
1300 | 参数不是数组类型 |
4092 | http请求头参数,内部有错误 |
1100 | 不存在的句柄 |
类型 | value | 说明 |
对于下面的这些option的可选参数,value应该被设置成一个逻辑类型的值 | ||
CURLOPT_AUTOREFERER | 58 | 当根据Location:重定向时,自动设置header中的Referer:信息。 |
CURLOPT_BINARYTRANSFER | 19913 | 在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出。 |
CURLOPT_COOKIESESSION | 96 | 启用时curl会仅仅传递一个session cookie,忽略其他的cookie,默认状况下cURL会将所有的cookie返回给服务端。session cookie是指那些用来判断服务器端的session是否有效而存在的cookie。 |
CURLOPT_CRLF | 27 | 启用时将Unix的换行符转换成回车换行符。 |
CURLOPT_DNS_USE_GLOBAL_CACHE | 91 | 启用时会启用一个全局的DNS缓存,此项为线程安全的,并且默认启用。 |
CURLOPT_FAILONERROR | 45 | 显示HTTP状态码,默认行为是忽略编号小于等于400的HTTP信息。 |
CURLOPT_FILETIME | 69 | 启用时会尝试修改远程文档中的信息。结果信息会通过curl.getinfo()功能函数的CURLINFO_FILETIME选项返回。 curl.getinfo(). |
CURLOPT_FOLLOWLOCATION | 52 | 启用时会将服务器服务器返回的"Location:"放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。 |
CURLOPT_FORBID_REUSE | 75 | 在完成交互以后强迫断开连接,不能重用。 |
CURLOPT_FRESH_CONNECT | 74 | 强制获取一个新的连接,替代缓存中的连接。 |
CURLOPT_FTP_USE_EPRT | 106 | 启用时当FTP下载时,使用EPRT (或 LPRT)命令。设置为False时禁用EPRT和LPRT,使用PORT命令 only. |
CURLOPT_FTP_USE_EPSV | 85 | 启用时,在FTP传输过程中回复到PASV模式前首先尝试EPSV命令。设置为False时禁用EPSV命令。 |
CURLOPT_FTPAPPEND | 50 | 启用时追加写入文件而不是覆盖它。 |
CURLOPT_FTPASCII | 48 | CURLOPT_TRANSFERTEXT的别名。 |
CURLOPT_FTPLISTONLY | 48 | 启用时只列出FTP目录的名字。 |
CURLOPT_HEADER | 42 | 启用时会将头文件的信息作为数据流输出。 |
CURLINFO_HEADER_OUT | 2 | 启用时追踪句柄的请求字符串 |
CURLOPT_HTTPGET | 80 | 启用时会设置HTTP的method为GET,因为GET是默认是,所以只在被修改的情况下使用。 |
CURLOPT_HTTPPROXYTUNNEL | 61 | 启用时会通过HTTP代理来传输。 |
CURLOPT_NOBODY | 44 | 启用时将不对HTML中的BODY部分进行输出。 |
CURLOPT_NOPROGRESS | 43 | 启用时关闭curl传输的进度条,此项的默认设置为关闭。 |
CURLOPT_NOSIGNAL | 99 | 启用时忽略所有的curl传递给云应用的signals信号。默认开启,多线程情况下dns解析超时会发送signals信号 |
CURLOPT_POST | 47 | 启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。 |
CURLOPT_PUT | 54 | 启用时允许HTTP发送文件,必须同时设置CURLOPT_INFILE和CURLOPT_INFILESIZE。 |
CURLOPT_RETURNTRANSFER | 19914 | 设置为真,将curlexec()获取的信息以文本的方法在功能函数中返回。 |
CURLOPT_SSL_VERIFYPEER | 64 | 禁用后cURL将终止从服务端进行验证。使用CURLOPT_CAINFO选项设置证书使用CURLOPT_CAPATH选项设置证书目录 如果CURLOPT_SSL_VERIFYPEER(默认值为2)被启用,CURLOPT_SSL_VERIFYHOST需要被设置成True否则设置为False。 自cURL 7.10开始默认为True。从cURL 7.10开始默认绑定安装。 |
CURLOPT_TRANSFERTEXT | 53 | 启用后对FTP传输使用ASCII模式。对于LDAP,它检索纯文本信息而非HTML。在Windows系统上,系统不会把STDOUT设置成binary模式。 |
CURLOPT_UNRESTRICTED_AUTH | 105 | 在使用CURLOPT_FOLLOWLOCATION产生的header中的多个locations中持续追加用户名和密码信息,即使域名已发生改变。 |
CURLOPT_UPLOAD | 46 | 启用后允许文件上传。 |
CURLOPT_VERBOSE | 41 | 设置为真,在stdout输出到屏幕,在后端开发中无实际效果 |
对于下面的这些option的可选参数,value应该被设置一个integer类型的值 | ||
CURLOPT_BUFFERSIZE | 98 | 每次获取的数据中读入缓存的大小,但是不保证这个值每次都会被填满 |
CURLOPT_CLOSEPOLICY | 72 | 超过最大连接数(CURLOPT_MAXCONNECTS)时需要关闭的连接,可选择以下五个参数 |
CURLCLOSEPOLICY_OLDEST | 1 | 最旧的连接 |
CURLCLOSEPOLICY_LEAST_RECENTLY_USED | 2 | |
CURLCLOSEPOLICY_LEAST_TRAFFIC | 3 | |
CURLCLOSEPOLICY_SLOWEST | 4 | 最慢的连接 |
CURLCLOSEPOLICY_CALLBACK | 5 | |
CURLOPT_CONNECTTIMEOUT | 78 | 在发起连接前等待的时间,如果设置为0,则无限等待。 |
CURLOPT_CONNECTTIMEOUT_MS | 156 | 尝试连接等待的时间,以毫秒为单位。如果设置为0,则无限等待。 |
CURLOPT_DNS_CACHE_TIMEOUT | 92 | 设置在内存中保存DNS信息的时间,默认为120秒。 |
CURLOPT_FTPSSLAUTH | 129 | FTP验证方式:CURLFTPAUTH_SSL (首先尝试SSL),CURLFTPAUTH_TLS (首先尝试TLS)或CURLFTPAUTH_DEFAULT (让cURL自动决定)。 |
CURLFTPAUTH_TLS | 2 | |
CURLFTPAUTH_SSL | 1 | |
CURLFTPAUTH_DEFAULT | 0 | |
CURLOPT_HTTP_VERSION | 84 | CURL_HTTP_VERSION_NONE (默认值,让cURL自己判断使用哪个版本) |
CURL_HTTP_VERSION_1_0 | 1 | 强制使用 HTTP/1.0 |
CURL_HTTP_VERSION_1_1 | 2 | 强制使用 HTTP/1.1 |
CURL_HTTP_VERSION_2_0 | 3 | 强制使用 HTTP/2.0 |
CURLOPT_HTTPAUTH | 107 | 使用的HTTP验证方法,可选的值有:CURLAUTH_BASIC、CURLAUTH_DIGEST、CURLAUTH_GSSNEGOTIATE、CURLAUTH_NTLM、CURLAUTH_ANY和CURLAUTH_ANYSAFE。 |
CURLAUTH_NONE | 0 | 没有HTTP认证 |
CURLAUTH_BASIC | 1 | HTTP基本身份验证(默认) |
CURLAUTH_DIGEST | 2 | HTTP摘要式身份验证 |
CURLAUTH_GSSNEGOTIATE | 4 | HTTP协商(SPNEGO)认证 |
CURLAUTH_NTLM | 8 | HTTP NTLM身份验证 |
CURLAUTH_DIGEST_IE | 16 | |
CURLAUTH_NTLM_WB | 32 | HTTP NTLM身份验证委托给winbind |
CURLAUTH_ANY | -17 | 所有文件类型设置 |
CURLAUTH_ANYSAFE | -18 | 除了基本的所有文件类型 |
CURLOPT_INFILESIZE | 14 | 设定上传文件的大小限制,字节(byte)为单位。 |
CURLOPT_LOW_SPEED_LIMIT | 19 | 当传输速度小于CURLOPT_LOW_SPEED_LIMIT时(bytes/sec) |
CURLOPT_LOW_SPEED_TIME | 20 | 当传输速度小于CURLOPT_LOW_SPEED_LIMIT时(bytes/sec) |
CURLOPT_MAXCONNECTS | 71 | 允许的最大连接数量,超过是会通过CURLOPT_CLOSEPOLICY决定应该停止哪些连接。 |
CURLOPT_MAXREDIRS | 68 | 指定最多的HTTP重定向的数量,这个选项是和CURLOPT_FOLLOWLOCATION一起使用的。 |
CURLOPT_PORT | 3 | 用来指定连接端口。(可选项) |
CURLOPT_PROTOCOLS | 181 | 位域值会限定curl库在传输过程中有哪些可使用的协议,下列为协议常量 |
CURLPROTO_HTTP | 1 | http协议 |
CURLPROTO_HTTPS | 2 | https协议 |
CURLPROTO_FTP | 4 | fpt协议 |
CURLPROTO_FTPS | 8 | ftps协议 |
CURLPROTO_SCP | 16 | scp协议 |
CURLPROTO_SFTP | 32 | sftp协议 |
CURLPROTO_TELNET | 64 | telnet协议 |
CURLPROTO_LDAP | 128 | ldap协议 |
CURLPROTO_LDAPS | 256 | ldaps协议 |
CURLPROTO_DICT | 512 | dict协议 |
CURLPROTO_FILE | 1024 | file协议 |
CURLPROTO_TFTP | 2048 | tftp协议 |
CURLPROTO_ALL | -1 | 所有协议 |
CURLOPT_PROXYAUTH | 111 | HTTP代理连接的验证方式。对于代理验证只有CURLAUTH_BASIC和CURLAUTH_NTLM当前被支持 |
CURLOPT_PROXYPORT | 59 | 代理服务器的端口。端口也可以在CURLOPT_PROXY中进行设置。 |
CURLOPT_PROXYTYPE | 101 | 指定HTTP代理类型. |
CURLPROXY_HTTP | 0 | HTTP代理 |
CURLPROXY_HTTP_1_0 | 1 | HTTP代理,使用1.0版本协议 |
CURLPROXY_SOCKS4 | 4 | SOCKS4代理 |
CURLPROXY_SOCKS5 | 5 | SOCKS5代理 |
CURLPROXY_SOCKS4A | 6 | SOCKS4A代理 |
CURLPROXY_SOCKS5_HOSTNAME | 7 | SOCKS5代理,通过主机名连接而不是IP |
CURLOPT_REDIR_PROTOCOLS | 182 | CURLPROTO_*中的位域值。如果被启用,位域值将会限制传输线程在CURLOPT_FOLLOWLOCATION开启时跟随某个重定向时可使用的协议。这将使你对重定向时限制传输线程使用被允许的协议子集默认libcurl将会允许除FILE和SCP之外的全部协议。这个和7.19.4预发布版本种无条件地跟随所有支持的协议有一些不同。关于协议常量,请参照CURLOPT_PROTOCOLS。 在cURL 7.19.4中被加入。 |
CURLOPT_RESUME_FROM | 21 | 在恢复传输时传递一个字节偏移量(用来断点续传)。 |
CURLOPT_SSL_VERIFYHOST | 81 | 1 检查服务器SSL证书中是否存在一个公用名(common name)。译者注:公用名(Common Name)一般来讲就是填写你将要申请SSL证书的域名 (domain)或子域名(sub domain)。2 检查公用名是否存在,并且是否与提供的主机名匹配。 |
CURLOPT_SSLVERSION | 32 | 使用的SSL版本(2 或 3)。需要手动地进行设置。 |
CURLOPT_TIMECONDITION | 33 | 如果在CURLOPT_TIMEVALUE指定的某个时间以后被编辑过,则使用CURL_TIMECOND_IFMODSINCE返回页面,如果没有被修改过,并且CURLOPT_HEADER为True,则返回一个"304 Not Modified"的header, CURLOPT_HEADER为False,则使用CURL_TIMECOND_IFUNMODSINCE,默认值为CURL_TIMECOND_IFUNMODSINCE。 |
CURLOPT_TIMEOUT | 13 | 设置cURL允许执行的最长秒数。 |
CURLOPT_TIMEOUT_MS | 155 | 设置cURL允许执行的最长毫秒数 |
CURLOPT_TIMEVALUE | 34 | 设置一个CURLOPT_TIMECONDITION使用的时间戳,在默认状态下使用的是CURL_TIMECOND_IFMODSINCE。 |
CURL_TIMECOND_IFMODSINCE | 1 | |
对于下面的这些option的可选参数,value应该被设置一个string类型的值 | ||
CURLOPT_CAINFO | 10065 | 一个保存着1个或多个用来让服务端验证的证书的文件名。这个参数仅仅在和CURLOPT_SSL_VERIFYPEER一起使用时才有意义。 . |
CURLOPT_CAPATH | 10097 | 一个保存着多个CA证书的目录。这个选项是和CURLOPT_SSL_VERIFYPEER一起使用的。 |
CURLOPT_COOKIE | 10022 | 设定HTTP请求中"Cookie:"部分的内容。多个cookie用分号分隔,分号后带一个空格(例如, "fruit=apple; colour=red")。 |
CURLOPT_COOKIEFILE | 10031 | 包含cookie数据的文件名,cookie文件的格式可以是Netscape格式,或者只是纯HTTP头部信息存入文件。 |
CURLOPT_COOKIEJAR | 10082 | 连接结束后保存cookie信息的文件。 |
CURLOPT_CUSTOMREQUEST | 10036 | 使用一个自定义的请求信息来代替"GET"或"HEAD"作为HTTP请求。这对于执行"DELETE" 或者其他更隐蔽的HTTP请求。有效值如"GET","POST","CONNECT"等等。也就是说,不要在这里输入整个HTTP请求。例如输入"GET /index.html HTTP/1.0\r \r "是不正确的。 |
CURLOPT_EGDSOCKET | 10077 | 类似CURLOPT_RANDOM_FILE,除了一个Entropy Gathering Daemon套接字。 |
CURLOPT_ENCODING | 10102 | HTTP请求头中"Accept-Encoding:"的值。支持的编码有"identity","deflate"和"gzip"。如果为空字符串"",请求头会发送所有支持的编码类型。 |
CURLOPT_FTPPORT | 10017 | 这个值将被用来获取供FTP"POST"指令所需要的IP地址。"POST"指令告诉远程服务器连接到我们指定的IP地址。这个字符串可以是纯文本的IP地址、主机名、一个网络接口名(UNIX下)或者只是一个'-'来使用默认的IP地址。 |
CURLOPT_INTERFACE | 10062 | 网络发送接口名,可以是一个接口名、IP地址或者是一个主机名。 |
CURLOPT_KRB4LEVEL | 10063 | KRB4 (Kerberos 4) 安全级别。下面的任何值都是有效的(从低到高的顺序):"clear"、"safe"、"confidential"、"private".。如果字符串和这些都不匹配,将使用"private"。这个选项设置为NULL时将禁用KRB4 安全认证。目前KRB4 安全认证只能用于FTP传输。 |
CURLOPT_POSTFIELDS | 10015 | 全部数据使用HTTP协议中的"POST"操作来发送。要发送文件,在文件名前面加上@前缀并使用完整路径。这个参数可以通过urlencoded后的字符串类似'para1=val1¶2=val2&...'或使用一个以字段名为键值,字段数据为值的数组。如果value是一个数组,Content-Type头将会被设置成multipart/form-data。 |
CURLOPT_PROXY | 10004 | HTTP代理通道。 |
CURLOPT_PROXYUSERPWD | 10006 | 一个用来连接到代理的"[username]:[password]"格式的字符串。 |
CURLOPT_RANDOM_FILE | 10076 | 一个被用来生成SSL随机数种子的文件名。 |
CURLOPT_RANGE | 10007 | 以"X-Y"的形式,其中X和Y都是可选项获取数据的范围,以字节计。HTTP传输线程也支持几个这样的重复项中间用逗号分隔如"X-Y,N-M"。 |
CURLOPT_REFERER | 10016 | 在HTTP请求头中"Referer:"的内容。 |
CURLOPT_SSL_CIPHER_LIST | 10083 | 一个SSL的加密算法列表。例如RC4-SHA和TLSv1都是可用的加密列表。 |
CURLOPT_SSLCERT | 10025 | 一个包含PEM格式证书的文件名。 |
CURLOPT_SSLCERTPASSWD | 10026 | 使用CURLOPT_SSLCERT证书需要的密码。 |
CURLOPT_SSLCERTTYPE | 10086 | 证书的类型。支持的格式有"PEM" (默认值),"DER"和"ENG"。 |
CURLOPT_SSLENGINE | 10089 | 用来在CURLOPT_SSLKEY中指定的SSL私钥的加密引擎变量。 |
CURLOPT_SSLENGINE_DEFAULT | 90 | 用来做非对称加密操作的变量。 |
CURLOPT_SSLKEY | 10087 | 包含SSL私钥的文件名。 |
CURLOPT_SSLKEYPASSWD | 10026 | 在CURLOPT_SSLKEY中指定了的SSL私钥的密码。 |
CURLOPT_SSLKEYTYPE | 10088 | CURLOPT_SSLKEY中规定的私钥的加密类型,支持的密钥类型为"PEM"(默认值)、"DER"和"ENG"。 |
CURLOPT_URL | 10002 | 需要获取的URL地址,也可以在curlinit()功能函数中设置。 |
CURLOPT_USERAGENT | 10018 | 在HTTP请求中包含一个"User-Agent:"头的字符串。 |
CURLOPT_USERPWD | 10005 | 传递一个连接中需要的用户名和密码,格式为:"[username]:[password]"。 |
对于下面的这些option的可选参数,value应该被设置一个数组 | ||
CURLOPT_HTTPHEADER | 10023 | 一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置:array("Content-type"="text/plain","Content-length"=100) |
对于下面的这些option的可选参数,value应该被设置一个文件句柄(请使用使用fileopen()) | ||
CURLOPT_FILE | 10001 | 设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。 |
CURLOPT_INFILE | 10009 | 在上传文件的时候需要读取的,值是一个资源类型。 |
CURLOPT_STDERR | 10037 | 设置一个错误输出地址,值是一个资源类型,取代默认的STDERR。 |
CURLOPT_WRITEHEADER | 10029 | 设置header部分内容的写入的文件地址,值是一个资源类型。 |
示例
#常量设置
def test():
txt=get("http://1212.ip138.com/ic.asp")
print("txt"+txt)
def get(url):
CURLOPT_RETURNTRANSFER=19914
#初始化设置
ch=curl.init(url)
curl.setopt(ch,CURLOPT_RETURNTRANSFER,1)
result=curl.exec(ch)
curl.close(ch)
#这里要注意对应页面编码,否则云应用会出现错误
return curl.iconv(result,"gb2312","utf-8")
def get代理(url,proxy,procyport):
CURLOPT_CURLOPT_PROXY=10004
CURLOPT_PROXYPORT=59
ch=curl.init(url)
curl.setopt(ch,CURLOPT_RETURNTRANSFER,1)
curl.setopt(ch,CURLOPT_CURLOPT_PROXY,proxy)
curl.setopt(ch,CURLOPT_PROXYPORT,procyport)
result=curl.exec(ch)
curl.close(ch)
#这里要注意对应页面编码,否则云应用会出现错误
return curl.iconv(result,"gb2312","utf-8")
# cUrl常量声明
# 整理:2016/1/11
# 官方文档:http:#curl.haxx.se/libcurl/c/easy_setopt_options.html
# PHP说明:http:#php.net/manual/zh/def.curl-setopt.php
#=====================================================================
#################################-
# 对于下面的这些option的可选参数,value应该被设置一个逻辑类型的值
##################################
CURLOPT_AUTOREFERER =58 #当根据Location:重定向时,自动设置header中的Referer:信息。
CURLOPT_BINARYTRANSFER =19913 #在启用CURLOPT_RETURNTRANSFER的时候,返回原生的(Raw)输出。
CURLOPT_COOKIESESSION =96 #启用时curl会仅仅传递一个session cookie,忽略其他的cookie,默认状况下cURL会将所有的cookie返回给服务端。session cookie是指那些用来判断服务器端的session是否有效而存在的cookie。
CURLOPT_CRLF =27 #启用时将Unix的换行符转换成回车换行符。
CURLOPT_DNS_USE_GLOBAL_CACHE=91 #启用时会启用一个全局的DNS缓存,此项为线程安全的,并且默认启用。
CURLOPT_FAILONERROR =45 #显示HTTP状态码,默认行为是忽略编号小于等于400的HTTP信息。
CURLOPT_FILETIME =69 #启用时会尝试修改远程文档中的信息。结果信息会通过curl.getinfo()功能函数的CURLINFO_FILETIME选项返回。 curl.getinfo().
CURLOPT_FOLLOWLOCATION =52 #启用时会将服务器服务器返回的"Location:"放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。
CURLOPT_FORBID_REUSE =75 #在完成交互以后强迫断开连接,不能重用。
CURLOPT_FRESH_CONNECT =74 #制获取一个新的连接,替代缓存中的连接。
CURLOPT_FTP_USE_EPRT =106 #启用时当FTP下载时,使用EPRT (或 LPRT)命令。设置为False时禁用EPRT和LPRT,使用PORT命令 only.
CURLOPT_FTP_USE_EPSV =85 #启用时,在FTP传输过程中回复到PASV模式前首先尝试EPSV命令。设置为False时禁用EPSV命令。
CURLOPT_FTPAPPEND =50 #启用时追加写入文件而不是覆盖它。
CURLOPT_FTPASCII =48 #CURLOPT_TRANSFERTEXT的别名。
CURLOPT_FTPLISTONLY =48 #启用时只列出FTP目录的名字。
CURLOPT_HEADER =42 #启用时会将头文件的信息作为数据流输出。
CURLOPT_HTTPGET =80 #启用时会设置HTTP的method为GET,因为GET是默认是,所以只在被修改的情况下使用。
CURLOPT_HTTPPROXYTUNNEL =61 #启用时会通过HTTP代理来传输。
CURLOPT_NOBODY =44 #启用时将不对HTML中的BODY部分进行输出。
CURLOPT_NOPROGRESS =43 #启用时关闭curl传输的进度条,此项的默认设置为关闭。
CURLOPT_NOSIGNAL =99 #启用时忽略所有的curl传递给云应用的signals信号。默认开启,多线程情况下dns解析超时会发送signals信号
CURLOPT_POST =47 #启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
CURLOPT_PUT =54 #启用时允许HTTP发送文件,必须同时设置CURLOPT_INFILE和CURLOPT_INFILESIZE。
CURLOPT_RETURNTRANSFER =19914 #设置为真,将curl.exec()获取的信息以文本的方法在功能函数中返回。
CURLOPT_SSL_VERIFYPEER =64 #禁用后cURL将终止从服务端进行验证。使用CURLOPT_CAINFO选项设置证书使用CURLOPT_CAPATH选项设置证书目录 如果CURLOPT_SSL_VERIFYPEER(默认值为2)被启用,CURLOPT_SSL_VERIFYHOST需要被设置成True否则设置为False。 自cURL 7.10开始默认为True。从cURL 7.10开始默认绑定安装。
CURLOPT_TRANSFERTEXT =53 #启用后对FTP传输使用ASCII模式。对于LDAP,它检索纯文本信息而非HTML。在Windows系统上,系统不会把STDOUT设置成binary模式。
CURLOPT_UNRESTRICTED_AUTH=105 #在使用CURLOPT_FOLLOWLOCATION产生的header中的多个locations中持续追加用户名和密码信息,即使域名已发生改变。
CURLOPT_UPLOAD =46 #启用后允许文件上传。
CURLOPT_VERBOSE =41 #启用时会汇报所有的信息,存放在STDERR或指定的CURLOPT_STDERR中。
##################################
# 对于下面的这些option的可选参数,value应该被设置一个integer类型的值
##################################
CURLOPT_BUFFERSIZE =98 #每次获取的数据中读入缓存的大小,但是不保证这个值每次都会被填满
CURLOPT_CLOSEPOLICY =72 #超过最大连接数(CURLOPT_MAXCONNECTS)时需要关闭的连接
curl.closePOLICY_OLDEST =1 #最旧的连接
curl.closePOLICY_LEAST_RECENTLY_USED=2 #
curl.closePOLICY_LEAST_TRAFFIC =3 #
curl.closePOLICY_SLOWEST =4 #最慢的连接
curl.closePOLICY_CALLBACK =5 #
CURLOPT_CONNECTTIMEOUT =78 #在发起连接前等待的时间,如果设置为0,则无限等待。
CURLOPT_CONNECTTIMEOUT_MS=156 #尝试连接等待的时间,以毫秒为单位。如果设置为0,则无限等待。
CURLOPT_TIMEOUT =13 #设置cURL允许执行的最长秒数。
CURLOPT_TIMEOUT_MS =155 #设置cURL允许执行的最长毫秒数
CURLOPT_DNS_CACHE_TIMEOUT=92 #设置在内存中保存DNS信息的时间,默认为120秒。
CURLOPT_FTPSSLAUTH =129 #FTP验证方式:CURLFTPAUTH_SSL (首先尝试SSL),CURLFTPAUTH_TLS (首先尝试TLS)或CURLFTPAUTH_DEFAULT (让cURL自动决定)。
CURLFTPAUTH_TLS =2 #
CURLFTPAUTH_SSL =1 #
CURLFTPAUTH_DEFAULT =0 #
CURLOPT_HTTP_VERSION =84 #指定cUrl使用的HTTP协议版本
CURL_HTTP_VERSION_NONE =0 #默认值,自动判断合适版本
CURL_HTTP_VERSION_1_0 =1 /制使用 HTTP/1.0
CURL_HTTP_VERSION_1_1 =2 /制使用 HTTP/1.1
CURL_HTTP_VERSION_2_0 =3 /制使用 HTTP/2.0
CURLOPT_HTTPAUTH =111 #使用的HTTP验证方式
CURLAUTH_NONE =0 #No HTTP authentication
CURLAUTH_BASIC =1 #HTTP Basic authentication (default)
CURLAUTH_DIGEST =2 #HTTP Digest authentication
CURLAUTH_NEGOTIATE =4 #HTTP Negotiate (SPNEGO) authentication
CURLAUTH_GSSNEGOTIATE =4 #Alias for CURLAUTH_NEGOTIATE (deprecated)
CURLAUTH_NTLM =8 #HTTP NTLM authentication
CURLAUTH_DIGEST_IE =16 #HTTP Digest authentication with IE flavour
CURLAUTH_NTLM_WB =32 #HTTP NTLM authentication delegated to winbind helper
CURLAUTH_ANY =-17 #All fine types set
CURLAUTH_ANYSAFE =-18 #All fine types except Basic
CURLOPT_INFILESIZE =14 #设定上传文件的大小限制,字节(byte)为单位。
CURLOPT_LOW_SPEED_LIMIT =19 #当传输速度小于CURLOPT_LOW_SPEED_LIMIT时(bytesc),PHP会根据CURLOPT_LOW_SPEED_TIME来判断是否因太慢而取消传输。
CURLOPT_LOW_SPEED_TIME =20 #当传输速度小于CURLOPT_LOW_SPEED_LIMIT时(bytesc),PHP会根据CURLOPT_LOW_SPEED_TIME来判断是否因太慢而取消传输。
CURLOPT_MAXCONNECTS =71 #允许的最大连接数量,超过是会通过CURLOPT_CLOSEPOLICY决定应该停止哪些连接。
CURLOPT_MAXREDIRS =68 #指定最多的HTTP重定向的数量,这个选项是和CURLOPT_FOLLOWLOCATION一起使用的。
CURLOPT_PORT =3 #指定连接的端口。
CURLOPT_PROTOCOLS =181 #位域值会限定curl库在传输过程中有哪些可使用的协议,下列为协议常量:
CURLPROTO_ALL =0 #所有协议
CURLPROTO_HTTP =1 /tp协议
CURLPROTO_HTTPS =2 /tps协议
CURLPROTO_FTP =4 #fpt协议
CURLPROTO_FTPS =8 #ftps协议
CURLPROTO_SCP =16 #scp协议
CURLPROTO_SFTP =32 #sftp协议
CURLPROTO_TELNET =64 #telnet协议
CURLPROTO_LDAP =128 #ldap协议
CURLPROTO_LDAPS =256 #ldaps协议
CURLPROTO_DICT =512 #dict协议
CURLPROTO_FILE =1024 #file协议
CURLPROTO_TFTP =2048 #tftp协议
CURLOPT_PROXYAUTH =111 #HTTP代理连接的验证方式。使用在CURLOPT_HTTPAUTH中的位域标志来设置相应选项。对于代理验证只有CURLAUTH_BASIC和CURLAUTH_NTLM当前被支持。 在cURL 7.10.7中被加入。
CURLOPT_PROXYPORT =59 #代理服务器的端口。端口也可以在CURLOPT_PROXY中进行设置。
CURLOPT_PROXYTYPE =101 #指定HTTP代理类型.
CURLPROXY_HTTP =0 #HTTP代理
CURLPROXY_HTTP_1_0 =1 #HTTP代理,使用1.0版本协议
CURLPROXY_SOCKS4 =4 #SOCKS4代理
CURLPROXY_SOCKS5 =5 #SOCKS5代理
CURLPROXY_SOCKS4A =6 #SOCKS4A代理
CURLPROXY_SOCKS5_HOSTNAME=7 #SOCKS5代理,通过主机名连接而不是IP
CURLOPT_REDIR_PROTOCOLS =182 #CURLPROTO_*中的位域值。如果被启用,位域值将会限制传输线程在CURLOPT_FOLLOWLOCATION开启时跟随某个重定向时可使用的协议。这将使你对重定向时限制传输线程使用被允许的协议子集默认libcurl将会允许除FILE和SCP之外的全部协议。这个和7.19.4预发布版本种无条件地跟随所有支持的协议有一些不同。关于协议常量,请参照CURLOPT_PROTOCOLS。 在cURL 7.19.4中被加入。
CURLOPT_RESUME_FROM =21 #在恢复传输时传递一个字节偏移量(用来断点续传)。
CURLOPT_SSL_VERIFYHOST =81 #1 检查服务器SSL证书中是否存在一个公用名(common name)。译者注:公用名(Common Name)一般来讲就是填写你将要申请SSL证书的域名 (domain)或子域名(sub domain)。2 检查公用名是否存在,并且是否与提供的主机名匹配。
CURLOPT_SSLVERSION =32 #使用的SSL版本(2 或 3)。默认情况下PHP会自己检测这个值,尽管有些情况下需要手动地进行设置。
CURLOPT_TIMECONDITION =33 #如果在CURLOPT_TIMEVALUE指定的某个时间以后被编辑过,则使用CURL_TIMECOND_IFMODSINCE返回页面,如果没有被修改过,并且CURLOPT_HEADER为True,则返回一个"304 Not Modified"的header, CURLOPT_HEADER为False,则使用CURL_TIMECOND_IFUNMODSINCE,默认值为CURL_TIMECOND_IFUNMODSINCE。
CURLOPT_TIMEVALUE =34 #设置一个CURLOPT_TIMECONDITION使用的时间戳,在默认状态下使用的是CURL_TIMECOND_IFMODSINCE。
##################################
# 对于下面的这些option的可选参数,value应该被设置一个string类型的值
##################################
CURLOPT_CAINFO =10065 #一个保存着1个或多个用来让服务端验证的证书的文件名。这个参数仅仅在和CURLOPT_SSL_VERIFYPEER一起使用时才有意义。 .
CURLOPT_CAPATH =10097 #一个保存着多个CA证书的目录。这个选项是和CURLOPT_SSL_VERIFYPEER一起使用的。
CURLOPT_COOKIE =10022 #设定HTTP请求中"Cookie:"部分的内容。多个cookie用分号分隔,分号后带一个空格(例如, "fruit=apple; colour=red")。
CURLOPT_COOKIEFILE =10031 #包含cookie数据的文件名,cookie文件的格式可以是Netscape格式,或者只是纯HTTP头部信息存入文件。
CURLOPT_COOKIEJAR =10082 #连接结束后保存cookie信息的文件。
CURLOPT_CUSTOMREQUEST =10036 #使用一个自定义的请求信息来代替"GET"或"HEAD"作为HTTP请求。这对于执行"DELETE" 或者其他更隐蔽的HTTP请求。有效值如"GET","POST","CONNECT"等等。也就是说,不要在这里输入整个HTTP请求。例如输入"GET /index.html HTTP/1.0"是不正确的。
CURLOPT_EGDSOCKET =10077 #类似CURLOPT_RANDOM_FILE,除了一个Entropy Gathering Daemon套接字。
CURLOPT_ENCODING =10102 #HTTP请求头中"Accept-Encoding:"的值。支持的编码有"identity","deflate"和"gzip"。如果为空字符串"",请求头会发送所有支持的编码类型。 在cURL 7.10中被加入。
CURLOPT_FTPPORT =10017 #这个值将被用来获取供FTP"POST"指令所需要的IP地址。"POST"指令告诉远程服务器连接到我们指定的IP地址。这个字符串可以是纯文本的IP地址、主机名、一个网络接口名(UNIX下)或者只是一个'-'来使用默认的IP地址。
CURLOPT_INTERFACE =10062 #网络发送接口名,可以是一个接口名、IP地址或者是一个主机名。
CURLOPT_KRB4LEVEL =10063 #KRB4 (Kerberos 4) 安全级别。下面的任何值都是有效的(从低到高的顺序):"clear"、"safe"、"confidential"、"private".。如果字符串和这些都不匹配,将使用"private"。这个选项设置为NULL时将禁用KRB4 安全认证。目前KRB4 安全认证只能用于FTP传输。
CURLOPT_POSTFIELDS =10015 #全部数据使用HTTP协议中的"POST"操作来发送。要发送文件,在文件名前面加上@前缀并使用完整路径。这个参数可以通过urlencoded后的字符串类似'para1=val1¶2=val2&...'或使用一个以字段名为键值,字段数据为值的数组。如果value是一个数组,Content-Type头将会被设置成multipart/form-data。
CURLOPT_PROXY =10004 #HTTP代理通道。
CURLOPT_PROXYUSERPWD =10006 #一个用来连接到代理的"[username]:[password]"格式的字符串。
CURLOPT_RANDOM_FILE =10076 #一个被用来生成SSL随机数种子的文件名。
CURLOPT_RANGE =10007 #以"X-Y"的形式,其中X和Y都是可选项获取数据的范围,以字节计。HTTP传输线程也支持几个这样的重复项中间用逗号分隔如"X-Y,N-M"。
CURLOPT_REFERER =10016 #在HTTP请求头中"Referer:"的内容。
CURLOPT_SSL_CIPHER_LIST =10083 #一个SSL的加密算法列表。例如RC4-SHA和TLSv1都是可用的加密列表。
CURLOPT_SSLCERT =10025 #一个包含PEM格式证书的文件名。
CURLOPT_SSLCERTPASSWD =10026 #使用CURLOPT_SSLCERT证书需要的密码。
CURLOPT_SSLCERTTYPE =10086 #证书的类型。支持的格式有"PEM" (默认值),"DER"和"ENG"。
CURLOPT_SSLENGINE =10089 #用来在CURLOPT_SSLKEY中指定的SSL私钥的加密引擎变量。
CURLOPT_SSLENGINE_DEFAULT=90 #用来做非对称加密操作的变量。
CURLOPT_SSLKEY =10087 #包含SSL私钥的文件名。
CURLOPT_SSLKEYPASSWD =10026 #在CURLOPT_SSLKEY中指定了的SSL私钥的密码。
CURLOPT_SSLKEYTYPE =10088 #CURLOPT_SSLKEY中规定的私钥的加密类型,支持的密钥类型为"PEM"(默认值)、"DER"和"ENG"。
CURLOPT_URL =10002 #需要获取的URL地址,也可以在curl.init()功能函数中设置。
CURLOPT_USERAGENT =10018 #在HTTP请求中包含一个"User-Agent:"头的字符串。
CURLOPT_USERPWD =10005 #传递一个连接中需要的用户名和密码,格式为:"[username]:[password]"。
##################################
# 对于下面的这些option的可选参数,value应该被设置一个数组
##################################
CURLOPT_HTTPHEADER =10023 #一个用来设置HTTP头字段的数组。使用如下的形式的数组进行设置: {'Content-type:text/plain','Content-length:100'}
##################################
# 对于下面的这些option的可选参数,value应该被设置一个文件句柄(请使用使用fileopen()获得文件句柄)
##################################
CURLOPT_FILE =10001 #设置输出文件的位置,值是一个资源类型,默认为STDOUT (浏览器)。
CURLOPT_INFILE =10009 #在上传文件的时候需要读取的,值是一个资源类型。
CURLOPT_STDERR =10037 #设置一个错误输出地址,值是一个资源类型,取代默认的STDERR。
CURLOPT_WRITEHEADER =10029 #设置header部分内容的写入的文件地址,值是一个资源类型。
演示示例
- 暂无
安装包下载
- 暂无
相关视频
- 暂无