PHP采集相关教程之一 CURL函数库

2019-04-10 01:00:40于丽

PHP代码

<?php
$ch = curl_init("http://blog.huangchao.org/");
print_r(curl_getinfo($ch));
?>

可选的常量包括:
CURLINFO_EFFECTIVE_URL:最后一个有效的url地址;
CURLINFO_HTTP_CODE:最后一个收到的HTTP代码;
CURLINFO_FILETIME:远程获取文档的时间,如果无法获取,则返回值为“-1”;
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:header部分的大小;
CURLINFO_HEADER_OUT:发送请求的字符串;
CURLINFO_REQUEST_SIZE:在HTTP请求中有问题的请求的大小;
CURLINFO_SSL_VERIFYRESULT:Result of SSL certification verification requested by setting CURLOPT_SSL_VERIFYPEER;
CURLINFO_CONTENT_LENGTH_DOWNLOAD:从Content-Length: field中读取的下载内容长度;
CURLINFO_CONTENT_LENGTH_UPLOAD:上传内容大小的说明;
CURLINFO_CONTENT_TYPE:下载内容的“Content-type”值,NULL表示服务器没有发送有效的“Content-Type: header”;
curl_setopt()函数的作用是为一个curl设置会话参数。curl_setopt_array()函数的作用是以数组的形式为一个curl设置会话参数;
PHP代码

<?php
$ch = curl_init();
$fp = fopen("example_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
$options = array(
CURLOPT_URL => 'http://www.baidu.com/',
CURLOPT_HEADER => false
);
curl_setopt_array($ch, $options);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>

可设置的参数有:
CURLOPT_AUTOREFERER:自动设置header中的referer信息;
CURLOPT_BINARYTRANSFER:在启用CURLOPT_RETURNTRANSFER时候将获取数据返回;
CURLOPT_COOKIESESSION:启用时curl会仅仅传递一个session cookie,忽略其他的cookie,默认状况下curl会将所有的cookie返回给服务端。session cookie是指那些用来判断服务器端的session是否有效而存在的cookie;


CURLOPT_CRLF:启用时将Unix的换行符转换成回车换行符;
CURLOPT_DNS_USE_GLOBAL_CACHE:启用时会启用一个全局的DNS缓存,此项为线程安全的,并且默认为true;
CURLOPT_FAILONERROR:显示HTTP状态码,默认行为是忽略编号小于等于400的HTTP信息;
CURLOPT_FILETIME:启用时会尝试修改远程文档中的信息。结果信息会通过curl_getinfo()函数的CURLINFO_FILETIME选项返回;
相关文章 大家在看