您的位置:首页 > 其它

curl抓取网页内容时的重定向和乱码解决

2015-11-24 20:55 225 查看
url=‘网址′;ch = curl_init(); //初始化

// 设置选项,包括URL

curl_setopt(ch,CURLOPTURL,url);

//是否将参数返回到页面中(0表示是1表示否)

curl_setopt(ch,CURLOPTRETURNTRANSFER,1);curlsetopt(ch, CURLOPT_HEADER, 0);

curl_setopt(ch,CURLOPTUSERAGENT,“Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.22(KHTML,likeGecko)Chrome/25.0.1364.172Safari/537.22”);//语句1curlsetopt(ch, CURLOPT_ENCODING ,’gzip’); //gzip解析

curl_setopt(ch,CURLOPTFOLLOWLOCATION,1);//加入重定向处理,防止输出网页时不显示,要与“语句1”配合使用//获取网页HTML文档内容output = curl_exec(ch);info = curl_getinfo(ch);if(output === FALSE) {

echo “cURL Error: ” . curl_error(ch);//检查错误并输出
}
curl_close(ch);

output=iconv("UTF−8","GB2312//IGNORE",data) ;//转码,防止乱码

var_dump(info);vardump(output);

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 - 通过设置CURLOPT_SSL_VERIFYPEER返回的SSL证书验证请求的结果

CURLINFO_CONTENT_LENGTH_DOWNLOAD - 从Content-Length: field中读取的下载内容长度

CURLINFO_CONTENT_LENGTH_UPLOAD - 上传内容大小的说明

CURLINFO_CONTENT_TYPE - 下载内容的Content-Type:值,NULL表示服务器没有发送有效的Content-Type:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: