百数百数帮助
  • 首页
  • 帮助文档
  • 后端python
  • 开放平台
  • 私有云
  • 场景案例
  • 更新日志
返回控制台
返回控制台
  • 首页
  • Python教程
  • Python的改进
    • 应用后端对Python的改进部分
  • Python原生API
    • Python原生禁用API列表
    • Python原生内置API列表
  • Python功能列表
    • 全局(通用)
      • rnd
      • sleep
      • exit
      • synccorpmembers
      • getcorptype
      • gettickcount
      • getnstime
      • getrandomstr
      • getlasterror
      • geterror
    • io-日志(通用)
      • print
      • logclear
      • logclearall
      • logenable
      • logread
    • app-云应用(通用)
      • app.getappsymbol
      • app.getcurrentinfo
      • app.getapplist
    • form-表单(表单)
      • 表单错误信息
      • 表单字段类型
      • 查询条件和排序规则
      • 表单数据组合规则
      • 支持的SQL函数、关键字
      • 跨应用取数据说明
      • 表单系统字段说明
      • 表单操作
        • form.getallforminfo
        • form.getforminfo
        • form.getexternalforminfo
        • form.getallctrlinfo
        • form.getfileurl
        • form.transfileurl
      • 数据操作
        • form.select
        • form.aggregateselect
        • form.getdatabyid
        • form.insert
        • form.inserts
        • form.update
        • form.updates
        • form.delete
        • form.count
        • form.has
        • form.subinsert
        • form.subinserts
        • form.subupdate
        • form.subupdates
        • form.subdelete
      • 句柄操作
        • form.open
        • form.close
        • form.begin
        • form.commit
        • form.rollback
        • form.handleselect
        • form.handleinsert
        • form.handleinserts
        • form.handleupdate
        • form.handleupdates
        • form.handledelete
        • form.handlecount
        • form.handlehas
        • form.handlesubinsert
        • form.handlesubinserts
        • form.handlesubupdate
        • form.handlesubupdates
        • form.handlesubdelete
      • 通讯录
        • 用户ID说明
        • form.getcreatoruserid
        • form.getuserinfo
        • form.getdeptinfo
        • form.getparentdeptinfo
        • form.getdeptusers
        • form.getdeptlist
        • form.getdeptall
        • form.getroleusers
        • form.getoutsidergroupall
        • form.getoutsidergroupinfo
        • form.getoutsiderusers
        • form.moveusertodept
        • form.moveusertorole
        • form.moveoutsiderusers
      • 表单属性
        • form.getctrlattr
        • form.changectrlselect
        • form.getpublicinfo
        • form.getreportpublicinfo
      • 流程
        • form.getworkflowid
        • form.getworkflowdata
        • form.getworkflowlog
        • form.workflowstart
        • form.workflowstop
        • form.workflowcurrentinfo
      • 通知
        • app.geturl
        • form.getdataurl
        • form.sendmsg
      • 格式化
        • formataddress
        • formatlocation
      • 旧版数据操作
        • form.selectdata
        • form.selectdatas
        • form.insertdata
        • form.insertdatas
        • form.updatedata
        • form.updatedatas
        • form.deletedata
        • form.datacount
        • form.datahas
        • form.aggregateselectdata
        • form.subselectdata
        • form.subselectfield
        • form.subinsertdata
        • form.subinsertdatas
        • form.subupdatedata
        • form.subupdatedatas
        • form.subdeletedata
        • form.subdatacount
        • form.subdatahas
      • 旧版句柄操作
        • form.handleselectdata
        • form.handleselectdatas
        • form.handleinsertdata
        • form.handleinsertdatas
        • form.handleupdatedata
        • form.handleupdatedatas
        • form.handledeletedata
        • form.handledatacount
        • form.handledatahas
        • form.handlesubselectdata
        • form.handlesubselectfield
        • form.handlesubinsertdata
        • form.handlesubinsertdatas
        • form.handlesubupdatedata
        • form.handlesubupdatedatas
        • form.handlesubdeletedata
        • form.handlesubdatacount
        • form.handlesubdatahas
    • dataview-数据视图(数据分析)
      • 数据操作
        • dataview.select
        • dataview.count
        • dataview.has
      • 旧版数据操作
        • dataview.selectdata
        • dataview.selectdatas
        • dataview.datacount
        • dataview.datahas
    • os-日期时间(常用函数)
      • getmonthdays
      • getyeardays
      • timenow
      • timeadd
      • timediff
      • time2timestamp
      • timestamp2time
      • os.year
      • os.month
      • os.day
      • os.hour
      • os.minute
      • os.second
      • os.week
    • type-类型(常用函数)
      • tobool
      • toint
      • todouble
      • tostring
      • tonumber
      • isint
      • isdouble
      • isstring
      • isdict
      • islist
      • istuple
      • isjson
      • isdatetime
      • type
      • byte2string
      • float2hex
      • ip2integer
      • ip2integer
      • json.loads
      • json.dumps
    • string-字符串(常用函数)
      • string.lower
      • string.upper
      • string.title
      • string.cat
      • string.cut
      • string.equal
      • string.nequal
      • string.cmp
      • string.ncmp
      • string.left
      • string.right
      • string.len
      • string.find
      • string.rfind
      • string.findchar
      • string.rfindchar
      • string.reverse
      • string.sub
      • string.split
      • string.splitlines
      • string.getat
      • string.getchineseletter
      • string.format
      • string.appendchar
      • string.repeatself
      • string.shuffle
      • string.capitalize
      • string.center
      • string.count
      • string.encode
      • string.decode
      • string.startswith
      • string.endswith
      • string.expandtabs
      • string.index
      • string.rindex
      • string.join
      • string.ljust
      • string.rjust
      • string.strip
      • string.lstrip
      • string.rstrip
      • string.partition
      • string.rpartition
      • string.replace
      • string.swapcase
      • string.zfill
      • string.isalnum
      • string.isalpha
      • string.isdecimal
      • string.isnumeric
      • string.isdigit
      • string.islower
      • string.isupper
      • string.isspace
      • string.istitle
      • string.translation
      • str.maketrans
      • max
      • min
    • math-数学(常用函数)
      • math.sqrt
      • math.abs
      • math.sin
      • math.cos
      • math.tan
      • math.asin
      • math.acos
      • math.atan
      • math.atan2
      • math.sinh
      • math.asinh
      • math.cosh
      • math.acosh
      • math.tanh
      • math.atanh
      • math.pow
      • math.ln
      • math.ln1p
      • math.log
      • math.lg
      • math.exp
      • math.expm1
      • math.ceil
      • math.floor
      • math.radians
      • math.degrees
      • math.fmod
      • math.intdiv
      • math.hypot
      • math.pi
      • math.round
      • math.baseconvert
      • math.bin2dec
      • math.dec2bin
      • math.dec2hex
      • math.dec2oct
      • math.hex2dec
      • math.oct2dec
    • list-列表数组(常用函数)
      • list.max
      • list.min
      • list.move
      • list.append
      • list.extend
      • list.pop
      • list.removeforvalue
      • list.insert
      • list.sum
      • list.product
      • list.filterforvalue
      • list.sort
      • list.unique
      • list.index
      • list.count
      • list.reverse
    • tuple-元组数组(常用函数)
      • tuple.max
      • tuple.min
      • tuple.move
      • tuple.append
      • tuple.extend
      • tuple.remove
      • tuple.removeforvalue
      • tuple.insert
      • tuple.sum
      • tuple.product
      • tuple.filterforvalue
      • tuple.sort
      • tuple.unique
      • tuple.index
      • tuple.count
      • tuple.reverse
    • dict-字典数组(常用函数)
      • dict.clear
      • dict.max
      • dict.min
      • dict.push
      • dict.cat
      • dict.copy
      • dict.fromkeys
      • dict.get
      • dict.items
      • dict.keys
      • dict.values
      • dict.move
      • dict.remove
      • dict.removeforvalue
      • dict.pop
      • dict.popitem
      • dict.setdefault
      • dict.update
      • dict.sum
      • dict.product
      • dict.filterforkey
      • dict.filterforvalue
      • dict.sort
      • dict.unique
    • set-集合数组(常用函数)
      • set.add
      • set.update
      • set.clear
      • set.copy
      • set.isdisjoint
      • set.issubset
      • set.issuperset
      • set.discard
      • set.remove
      • set.pop
      • set.difference
      • set.difference_update
      • set.intersection
      • set.intersection_update
      • set.union
      • set.symmetric_difference
      • set.symmetric_difference_update
    • regular-正则(函数)
      • re.compile
      • re.match
      • re.sub
      • re.search
      • re.finditer
      • re.split
      • re.matchemail
      • re.matchphone
      • re.matchtelephone
      • re.matchurl
      • re.matchip
      • re.matchidcard
      • re.matchqq
      • re.matchzipcode
      • re.matchnumber
      • re.matchchinese
      • re.matchtext
      • re.submatchtext
      • re.replace
      • re.subreplace
    • hash-哈希(函数)
      • md5
      • sha1
      • sha1hmac
      • sha1hmac_binary_base64
      • sha224
      • sha256
      • sha384
      • sha512
      • ripemd160
    • crypt-加密(函数)
      • base64encode
      • base64decode
      • urlencode
      • urldecode
      • gmssl
    • numpy-数值计算(函数)
      • Numpy介绍
    • curl(网络通讯)
      • curl.init
      • curl.setopt
      • curl.exec
      • curl.close
      • curl.getinfo
      • curl.escape
      • curl.unescape
      • curl.iconv
    • requests(网络通讯)
      • requests.request
      • requests.get
      • requests.post
      • requests.options
      • requests.head
      • requests.put
      • requests.patch
      • requests.delete
    • httpex(网络通讯)
      • httpex.get
      • httpex.request
      • httpex.getfileurlbase64
      • httpex.getcookies
      • httpex.updatecookies
    • websocket(网络通讯)
      • websocket.request
      • websocket.open
      • websocket.send
      • websocket.close
    • mysql(数据库)
      • mysql.open
      • mysql.close
      • mysql.exec
      • mysql.query
      • mysql.begin
      • mysql.commit
      • mysql.rollback
      • mysql.getlasteffectrecords
      • mysqlexec
      • mysqlquerybylist
      • mysqlquerybyjson
    • sqlserver(数据库)
      • sqlserver.open
      • sqlserver.close
      • sqlserver.exec
      • sqlserver.query
      • sqlserver.begin
      • sqlserver.commit
      • sqlserver.rollback
      • sqlserver.getlasteffectrecords
      • sqlserverexec
      • sqlserverquerybylist
      • sqlserverquerybyjson
    • redis(数据库)
      • redis.open
      • redis.close
      • redis.exec
      • redis.query
      • redis.set
      • redis.get
  • Python后端事件
    • _forminitial(表单初始化事件)
    • _formeditinitial(表单编辑初始化事件)
    • _flownodeinitial(流程节点初始化事件)
    • _formevent(控件触发事件)
    • _formsubmit(表单提交事件)
    • _formupdate(表单编辑事件)
    • _formdelete(表单数据删除事件)
    • _formflow(表单流程事件)
    • _datahelper(数据助手事件)
  • Python功能插件
    • 功能插件设计
    • 插件控件
      • 基础控件
      • 表单来源
        • 表单来源Config参数说明
        • 表单来源设计面板说明
      • 子表单
        • 子表单Config参数说明
        • 子表单设计面板说明
      • 字段
        • 字段Config参数说明
        • 字段设计面板说明
      • 关联字段
        • 关联字段Config参数说明
        • 关联字段面板说明
      • 过滤条件
        • 过滤条件Config参数说明
        • 过滤条件面板说明
        • 过滤条件操作符说明
    • 插件事件
      • _forminitiallib(表单初始化事件)
      • _formeditinitiallib(表单编辑初始化事件)
      • _flownodeinitiallib(流程节点初始化事件)
      • _formeventlib(表单控件触发事件)
      • _formsubmitlib(表单数据提交事件)
      • _formupdatelib(表单数据编辑事件)
      • _formdeletelib(表单数据删除事件)
      • _formflowlib(流程节点事件)
      • _formconfiglib(插件配置事件)
      • _formtasklib(计划任务事件)
      • _reporttablemenulib(报表数据表菜单按钮事件)
      • _datahelperlib(数据助手事件)
  • API限制说明
  • Lua后端停止服务通知

curl.setopt

  • 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&para2=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&para2=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部分内容的写入的文件地址,值是一个资源类型。

演示示例

  • 暂无

安装包下载

  • 暂无

相关视频

  • 暂无
最新修改于:2021-10-20