- 浏览: 41258 次
- 性别:
- 来自: 杭州
文章分类
最新评论
上面这个函数是用来判断所给的链接是不是可以访问! 常用设置选项布尔值选项: 整数值选项: 字符串选项: 数组选项: 只能是流句柄的选项: 回调函数选项: 上面稀里哗啦这么多东西,头晕吧??一开始接触这个,也感觉很混乱~而且手边也没有书籍教程专门来讲这个~GG了一番,筛选了几篇不错的资料整理一下~上面提到的就是curl比较常用的参数~ 可选的常量包括: CURLINFO_EFFECTIVE_URL CURLINFO_HTTP_CODE CURLINFO_FILETIME CURLINFO_TOTAL_TIME CURLINFO_NAMELOOKUP_TIME CURLINFO_CONNECT_TIME CURLINFO_PRETRANSFER_TIME CURLINFO_STARTTRANSFER_TIME CURLINFO_REDIRECT_TIME CURLINFO_SIZE_UPLOAD CURLINFO_SIZE_DOWNLOAD CURLINFO_SPEED_DOWNLOAD CURLINFO_SPEED_UPLOAD CURLINFO_HEADER_SIZE CURLINFO_HEADER_OUT CURLINFO_REQUEST_SIZE CURLINFO_SSL_VERIFYRESULT CURLINFO_CONTENT_LENGTH_DOWNLOAD CURLINFO_CONTENT_LENGTH_UPLOAD CURLINFO_CONTENT_TYPE curl_setopt()函数的作用是为一个curl设置会话参数。curl_setopt_array()函数的作用是以数组的形式为一个curl设置会话参数: 可设置的参数有: CURLOPT_AUTOREFERER CURLOPT_BINARYTRANSFER CURLOPT_COOKIESESSION CURLOPT_CRLF CURLOPT_DNS_USE_GLOBAL_CACHE CURLOPT_FAILONERROR CURLOPT_FILETIME CURLOPT_FOLLOWLOCATION CURLOPT_FORBID_REUSE CURLOPT_FRESH_CONNECT CURLOPT_FTP_USE_EPRT CURLOPT_FTP_USE_EPSV CURLOPT_FTPAPPEND CURLOPT_FTPASCII CURLOPT_FTPLISTONLY CURLOPT_HEADER CURLOPT_HTTPGET CURLOPT_HTTPPROXYTUNNEL CURLOPT_MUTE CURLOPT_NETRC CURLOPT_NOBODY CURLOPT_NOPROGRESS CURLOPT_NOSIGNAL CURLOPT_POST CURLOPT_PUT CURLOPT_RETURNTRANSFER CURLOPT_SSL_VERIFYPEER CURLOPT_TRANSFERTEXT CURLOPT_UNRESTRICTED_AUTH CURLOPT_UPLOAD CURLOPT_VERBOSE CURLOPT_BUFFERSIZE CURLOPT_CLOSEPOLICY CURLOPT_CONNECTTIMEOUT CURLOPT_DNS_CACHE_TIMEOUT
网上看到的一些资料:
函数列表CURL库一共有17个函数:
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为CURL传输显示一个进程条,设置这个选项为一个非零值。注意: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_VERBOSE:如果你想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响应头信息的字符串。使用此回调函数,将自行处理响应头信息。响应头信息是整个字符串。设置返回值为字符串长度。
咱们继续看一些例子:
最后一个有效的url地址
最后一个收到的HTTP代码
远程获取文档的时间,如果无法获取,则返回值为“-1”
最后一次传输所消耗的时间
名称解析所消耗的时间
建立连接所消耗的时间
从建立连接到准备传输所使用的时间
从建立连接到传输开始所使用的时间
在事务传输开始前重定向所使用的时间
上传数据量的总值
下载数据量的总值
平均下载速度
平均上传速度
header部分的大小
发送请求的字符串
在HTTP请求中有问题的请求的大小
Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER
从Content-Length: field中读取的下载内容长度
上传内容大小的说明
下载内容的“Content-type”值,NULL表示服务器没有发送有效的“Content-Type: header”
自动设置header中的referer信息
在启用CURLOPT_RETURNTRANSFER时候将获取数据返回
启用时curl会仅仅传递一个session cookie,忽略其他的cookie,默认状况下curl会将所有的cookie返回给服务端。session cookie是指那些用来判断服务器端的session是否有效而存在的cookie。
启用时将Unix的换行符转换成回车换行符。
启用时会启用一个全局的DNS缓存,此项为线程安全的,并且默认为true。
显示HTTP状态码,默认行为是忽略编号小于等于400的HTTP信息
启用时会尝试修改远程文档中的信息。结果信息会通过curl_getinfo()函数的CURLINFO_FILETIME选项返回。
启用时会将服务器服务器返回的“Location:”放在header中递归的返回给服务器,使用CURLOPT_MAXREDIRS可以限定递归返回的数量。
在完成交互以后强迫断开连接,不能重用。
强制获取一个新的连接,替代缓存中的连接。
TRUE to use EPRT (and LPRT) when doing active FTP downloads. Use FALSE to disable EPRT and LPRT and use PORT only.
Added in PHP 5.0.0.
TRUE to first try an EPSV command for FTP transfers before reverting back to PASV. Set to FALSE to disable EPSV.
TRUE to append to the remote file instead of overwriting it.
An alias of CURLOPT_TRANSFERTEXT. Use that instead.
TRUE to only list the names of an FTP directory.
启用时会将头文件的信息作为数据流输出。
启用时会设置HTTP的method为GET,因为GET是默认是,所以只在被修改的情况下使用。
启用时会通过HTTP代理来传输。
讲curl函数中所有修改过的参数恢复默认值。
在连接建立以后,访问~/.netrc文件获取用户名和密码信息连接远程站点。
启用时将不对HTML中的body部分进行输出。
启用时关闭curl传输的进度条,此项的默认设置为true
启用时忽略所有的curl传递给php进行的信号。在SAPI多线程传输时此项被默认打开。
启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
启用时允许HTTP发送文件,必须同时设置CURLOPT_INFILE和CURLOPT_INFILESIZE
讲curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
FALSE to stop cURL from verifying the peer’s certificate. Alternate certificates to verify against can be specified with the CURLOPT_CAINFO option or a certificate directory can be specified with the CURLOPT_CAPATH option. CURLOPT_SSL_VERIFYHOST may also need to be TRUE or FALSE if CURLOPT_SSL_VERIFYPEER is disabled (it defaults to 2). TRUE by default as of cURL 7.10. Default bundle installed as of cURL 7.10.
TRUE to use ASCII mode for FTP transfers. For LDAP, it retrieves data in plain text instead of HTML. On Windows systems, it will not set STDOUT to binary mode.
在使用CURLOPT_FOLLOWLOCATION产生的header中的多个locations中持续追加用户名和密码信息,即使域名已发生改变。
启用时允许文件传输
启用时会汇报所有的信息,存放在STDERR或指定的CURLOPT_STDERR中
每次获取的数据中读入缓存的大小,这个值每次都会被填满。
不是CURLCLOSEPOLICY_LEAST_RECENTLY_USED就是CURLCLOSEPOLICY_OLDEST,还存在另外三个,但是curl暂时还不支持。.
在发起连接前等待的时间,如果设置为0,则不等待。
设置在内存中保存DNS信息的时间,默认为120秒。
发表评论
-
PHP图片验证码程序(字母加数字)
2010-08-20 08:26 1204<?php//FileName:authimg.php/ ... -
PHP中curl用法二
2010-06-09 13:16 948CURLOPT_FTPSSLAUTH PHP中curl用 ... -
计算两个日期相差天数的PHP代码
2010-06-07 17:45 2100计算两个日期相差的天数,原理:将两个日期转成时间戳格式,然后求 ... -
ThinkPHP
2010-05-21 10:09 789很早以前就听说过thinkphp。那会还不会PHP 。 去年 ... -
JSON 传递php数组变量至javascript数组变量
2010-01-27 11:01 1077SON是一种字符串的格式,符合JSON格式的字符串可以当作 ... -
require和include基本的区别是什么?
2009-12-18 11:26 1367require() 和 include() 除了怎样处理失败之 ... -
PHP的MVC实现
2009-12-18 18:04 1068刚学PHP的MVC,网上找来点 ...
相关推荐
hp的curl封装类用法,以实例形式较为详细的讲述了curl封装类及其使用方法,并总结了GET与POST的用法。 使用函数之前我们要需要把php curl模块打开(libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll) 开启php ...
curl看起来挺难的,这个文档比较全,可以作为api使用,帮助英文不好的同学们。
主要介绍了php的curl封装类用法,以实例形式较为详细的讲述了curl封装类及其使用方法,并总结了GET与POST的用法。 使用函数之前我们要需要把php curl模块打开(libeay32.dll, ssleay32.dll, php5ts.dll,...
php_curl_使用实例 curl的使用方法 curl 模拟post提交 curl 设置 UA、cookie 等 都有纤细例子
curl的一些封装用法,简单易懂
详细介绍了PHP_Curl扩展的使用方法,含大量示例程序
一个基于PHP cURL的开源HTTP类库,支持链式操作,省去繁杂的cURL使用方法。
php实现的Curl封装类的用法,以完整实例形式较为详细的分析了Curl封装类的定义及相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下。
主要介绍了php实现的Curl封装类的用法,以完整实例形式较为详细的分析了Curl封装类的定义及相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下。如果朋友们有什么更好的类,可以发送到我们PHP中文网一起学习...
PHP curl使用手册, 介绍CURL的使用方法
php中的curl_multi系列函数用法例子__1.docx
php中的curl_multi系列函数用法例子_.docx
curl的一些封装用法,简单易懂
用法 $ curl = new anlutro\cURL\cURL; $ response = $ curl -> get ( 'http://www.google.com' ); // easily build an url with a query string $ url = $ curl -> buildUrl ( 'http://www.google.com' , [ 's' =>...
本文实例讲述了php实现的Curl封装类Curl.class.php用法。分享给大家供大家参考。具体如下: <?php //curl类 class Curl { function Curl(){ return true; } function execute($method, $url, $fields='', $...
php的curl封装类用法实例_.docx
PHP cURL实现模拟登录与采集使用方法详解教程 PDF
压缩包有方法解决win7 64位下curl扩展不能开启,或者开启失败的方法。经过本人测试,成功开启。
PHP.CURL 的一个使用例子,很简单的用法
主要介绍了PHP基于curl post实现发送url及相关中文乱码问题解决方法,结合具体实例形式分析了php使用curl实现post数据发送及content-type相关设置操作技巧,需要的朋友可以参考下