php的扩展php_curl函数及参数详解

原文链接: php的扩展php_curl函数及参数详解

curl相信大家并不陌生,主要是用于通过浏览器发送请求获取数据的,可以使用url的语法来模拟浏览器来传输数据,它支持多种协议ftp,、ftps、 http、 https、 gopher、 telnet、 dict、 file、 ldap等协议,还具有一些实用的功能,如下载文件断点续传、上传文件断点续传、http代理服务器管道、甚至它还支持IPv6、scoket5代理服务器、通过http代理服务器上传文件。这也就是为什么使用curl而不使用file_get_contents、file、readfile的原因。

一、php_curl函数列表

  • curl_close:关闭CURL会话
  • curl_copy_handle:复制一个CURL会话句柄,同时3复制其所有参数
  • curl_errno:返回最后一个错误码
  • curl_error:返回一个字符串,用以描述当前会话的最后一个错误
  • curl_exec:执行当前会话
  • curl_getinfo:获取特定信息
  • curl_init:初始化CURL会话
  • curl_multi_add_handle:在一个多连接会话中添加一个句柄
  • curl_multi_close:关闭一个多句柄CRUL会话
  • curl_multi_exec:执行一个多句柄CURL会话
  • curl_multi_getcontent:返回一个句柄执行后的内容,如果设置了CURLOPT_RETURNTRANSFER
  • curl_multi_info_read:获取当前所有连接的信息
  • curl_multi_init:初始化一个多句柄会话
  • curl_multi_remove_handle:从一个多句柄会话中删除一个句柄
  • curl_multi_select:获取所有绑定的套接字
  • curl_setopt:设置CURL传输选项
  • curl_version:获取CURL版本

二、常用设置选项布尔值选项

  • CURLOPT_AUTOREFERER:当返回的信息头含有转向信息时,自动设置前向连接
  • CURLOPT_BINARYTRANSFER:TRUEtoreturntherawoutputwhenCURLOPT_RETURNTRANSFERisused.
  • CURLOPT_COOKIESESSION:标志为新的cookie会话,忽略之前设置的cookie会话
  • CURLOPT_CRLF:将Unix系统的换行符转换为Dos换行符
  • CURLOPT_DNS_USE_GLOBAL_CACHE:使用全局的DNS缓存
  • CURLOPT_FAILONERROR:忽略返回错误
  • CURLOPT_FILETIME:获取请求文档的修改日期,该日期可以用curl_getinfo()获取。
  • CURLOPT_FOLLOWLOCATION:紧随服务器返回的所有重定向信息
  • CURLOPT_FORBID_REUSE:当进程处理完毕后强制关闭会话,不再缓存供重用
  • CURLOPT_FRESH_CONNECT:强制建立一个新的会话,而不是重用缓存的会话
  • CURLOPT_HEADER:在返回的输出中包含响应头信息
  • CURLOPT_HTTPGET:设置HTTP请求方式为GET
  • CURLOPT_HTTPPROXYTUNNEL:经由一个HTTP代理建立连接
  • CURLOPT_NOBODY:返回的输出中不包含文档信息.
  • CURLOPT_NOPROGRESS:禁止进程级别传输,PHP自动设为真
  • CURLOPT_NOSIGNAL:忽略所有发往PHP的信息
  • CURLOPT_POST:设置POST方式提交数据,POST格式为application/x-www-form-urlencoded
  • CURLOPT_PUTTRUE:设置PUT方式上传文件,同时设置CURLOPT_INFILE和CURLOPT_INFILESIZE
  • CURLOPT_RETURNTRANSFER:返回字符串,而不是调用curl_exec()后直接输出
  • CURLOPT_SSL_VERIFYPEER:SSL验证开启
  • CURLOPT_UNRESTRICTED_AUTH:一直链接后面附加用户名和密码,同时设置CURLOPT_FOLLOWLOCATION
  • CURLOPT_UPLOAD:准备上传

三、整数值选项

  • CURLOPT_BUFFERSIZE:缓存大小
  • CURLOPT_CONNECTTIMEOUT:连接时间设置,默认0为无限制
  • CURLOPT_DNS_CACHE_TIMEOUT:内存中保存DNS信息的时间,默认2分钟
  • CURLOPT_INFILESIZE:上传至远程站点的文件尺寸
  • CURLOPT_LOW_SPEED_LIMIT:传输最低速度限制andabort.
  • CURLOPT_LOW_SPEED_TIME:传输时间限制
  • CURLOPT_MAXCONNECTS:最大持久连接数
  • CURLOPT_MAXREDIRS:最大转向数
  • CURLOPT_PORT:连接端口
  • CURLOPT_PROXYAUTH:代理服务器验证方式
  • CURLOPT_PROXYPORT:代理服务器端口
  • CURLOPT_PROXYTYPE:代理服务器类型
  • CURLOPT_TIMEOUT:CURL函数的最大执行时间

四、字符串选项

  • CURLOPT_COOKIE:HTTP头中set-cookie中的cookie信息
  • CURLOPT_COOKIEFILE:包含cookie信息的文件,cookie文件的格式可以是Netscape格式,或者只是HTTP头的格式
  • CURLOPT_COOKIEJAR:连接结束后保存cookie信息的文件
  • CURLOPT_CUSTOMREQUEST:自定义请求头,使用相对地址
  • CURLOPT_ENCODING:HTTP请求头中Accept-Encoding的值
  • CURLOPT_POSTFIELDS:POST格式提交的数据内容
  • CURLOPT_PROXY:代理通道
  • CURLOPT_PROXYUSERPWD:代理认证用户名和密码
  • CURLOPT_RANGE:返回数据的范围,以字节记
  • CURLOPT_REFERER:前向链接
  • CURLOPT_URL:要连接的URL地址,可以在curl_init()中设置
  • CURLOPT_USERAGENT:HTTP头中User-Agent的值
  • CURLOPT_USERPWD:连接种使用的验证信息

五、数组选项

  • CURLOPT_HTTP200ALIASES:200响应码数组,数组中的响应吗被认为是正确的响应
  • CURLOPT_HTTPHEADER:自定义请求头信息

六、只能是流句柄的选项:

  • CURLOPT_FILE:传输要写入的晚间句柄,默认是标准输出
  • CURLOPT_INFILE:传输要读取的文件句柄
  • CURLOPT_STDERR:作为标准错误输出的一个替换选项
  • CURLOPT_WRITEHEADER:传输头信息要写入的文件

七、回调函数选项

  • CURLOPT_HEADERFUNCTION:拥有两个参数的回调函数,第一个是参数是会话句柄,第二是HTTP响应头信息的字符串。使用此回调函数,将自行处理响应头信息。响应头信息按行返回。设置返回值为字符串长度。
  • CURLOPT_READFUNCTION:拥有两个参数的回调函数,第一个是参数是会话句柄,第二是HTTP响应头信息的字符串。使用此函数,将自行处理返回的数据。返回值为数据尺寸。
  • CURLOPT_WRITEFUNCTION:拥有两个参数的回调函数,第一个是参数是会话句柄,第二是HTTP响应头信息的字符串。使用此回调函数,将自行处理响应头信息。响应头信息是整个字符串。设置返回值为字符串长度。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值