以下中文解释参考于:DIY部落
一直都想学CURL,可是每次都抛到后脑勺,这次不能再这样了。
翻了一下GOOGLE。找到一篇文章。不过看着有些费劲。而且只能用IE看。
于是整理如下。且对一些东西进行了更改。只是采用了其对函数参数的中文解释部分。
PHP中,有关CURL的函数大概有如下N种:
curl_init — 初始化一个curl会话
curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
curl_errno — 返回一个包含当前会话错误信息的数字编号
curl_error — 返回一个包含当前会话错误信息的字符串
curl_exec — 执行一个curl会话
curl_getinfo — 获取一个curl连接资源句柄的信息
curl_multi_init — 初始化一个curl批处理句柄资源
curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close — 关闭一个批处理句柄资源
curl_multi_exec — 解析一个curl批处理句柄
curl_multi_getcontent — 返回获取的输出的文本流
curl_multi_info_read — 获取当前解析的curl的相关传输信息
curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array — 以数组的形式为一个curl设置会话参数
curl_setopt — 为一个curl设置会话参数
curl_version — 获取curl相关的版本信息
curl_close — 关闭一个curl会话
curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
curl_errno — 返回一个包含当前会话错误信息的数字编号
curl_error — 返回一个包含当前会话错误信息的字符串
curl_exec — 执行一个curl会话
curl_getinfo — 获取一个curl连接资源句柄的信息
curl_multi_init — 初始化一个curl批处理句柄资源
curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close — 关闭一个批处理句柄资源
curl_multi_exec — 解析一个curl批处理句柄
curl_multi_getcontent — 返回获取的输出的文本流
curl_multi_info_read — 获取当前解析的curl的相关传输信息
curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array — 以数组的形式为一个curl设置会话参数
curl_setopt — 为一个curl设置会话参数
curl_version — 获取curl相关的版本信息
curl_close — 关闭一个curl会话
今天主要记一下这些函数,这里面有两个是比较重要的,一个是curl_setopt,一个是curl_getinfo
这次主要讲一下curl_getinfo这个函数。
curl_getinfo是有两个参数的,第二个是可以省略的。第一个参数就是curl的资源句柄
代码如下:
<?php $ch = curl_init("http://www.baidu.com/"); echo "<pre>"; print_r(curl_getinfo($ch)); echo "</pre>"; /* Array ( [url] => http://www.baidu.com/ CURLINFO_EFFECTIVE_URL 最后一个有效的url地址 [http_code] => 0 CURLINFO_HTTP_CODE 最后一个收到的HTTP代码 [header_size] => 0 CURLINFO_HEADER_SIZE header部分的大小 [request_size] => 0 CURLINFO_REQUEST_SIZE 在HTTP请求中有问题的请求的大小 [filetime] => 0 CURLINFO_FILETIME 远程获取文档的时间,如果无法获取,则返回值为“-1” [ssl_verify_result] => 0 CURLINFO_SSL_VERIFYRESULT 结果的ssl认证所要求的核查设置CURLOPT_SSL_VERIFYPEER [redirect_count] => 0 [total_time] => 0 CURLINFO_TOTAL_TIME 最后一次传输所消耗的时间 [namelookup_time] => 0 CURLINFO_NAMELOOKUP_TIME 名称解析所消耗的时间 [connect_time] => 0 CURLINFO_CONNECT_TIME 建立连接所消耗的时间 [pretransfer_time] => 0 CURLINFO_PRETRANSFER_TIME 从建立连接到准备传输所使用的时间 [size_upload] => 0 CURLINFO_SIZE_UPLOAD 上传数据量的总值 [size_download] => 0 CURLINFO_SIZE_DOWNLOAD 下载数据量的总值 [speed_download] => 0 CURLINFO_SPEED_DOWNLOAD 平均下载速度 [speed_upload] => 0 CURLINFO_SPEED_UPLOAD 平均上传速度 [download_content_length] => 0 CURLINFO_CONTENT_LENGTH_DOWNLOAD 从Content-Length: field中读取的下载内容长度 [upload_content_length] => 0 CURLINFO_CONTENT_LENGTH_UPLOAD 上传内容大小的说明 [starttransfer_time] => 0 CURLINFO_STARTTRANSFER_TIME 从建立连接到传输开始所使用的时间 [redirect_time] => 0 CURLINFO_REDIRECT_TIME 在事务传输开始前重定向所使用的时间 ) CURLINFO_HEADER_OUT 发送请求的字符串 CURLINFO_CONTENT_TYPE 下载内容的“Content-type”值,NULL表示服务器没有发送有效的“Content-Type: header” */ ?>