php的curl七个步骤:
1.初使化curl资源
2.参数设置请求的协议地址
3.参数设置是否返回请求结果
4.设置发送数据(无发送数据可不设置)
5.其他的参数信息设置(按实际工作需要决定)
6.执行或执行得到返回结果
7.关闭curl资源
<?php
$ch = curl_init();//初始化
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "http://www.***.com");//CURLOPT_URL 这个参数选项规定了请求的url地址。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//是否需要返回值:若需要返回值即为1。不需请求后返回的结果可设置为0。
curl_setopt($ch, CURLOPT_POST, 1);//声明使用POST方式来进行发送
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置POST所需发送的数据
//如果是https有的时候我们需要忽略https的安全证书。
//CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST 两个参数改为false即忽略了证书。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_HEADER, 0);//是否处理http的头信息,我们不想接收处理的话可将这个值设置为0。
curl_setopt($ch, CURLOPT_TIMEOUT, 10);//设置请求超时
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
//打印获得的数据
print_r($output);
?>
考点:
通过curl获取到网页内容后输出对应的内容。
<?php
function get($url) {
//初使化curl
$ch = curl_init();
//请求的url,由形参传入
curl_setopt($ch, CURLOPT_URL, $url);
//将得到的数据返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//不处理头信息
curl_setopt($ch, CURLOPT_HEADER, 0);
//连接超过10秒超时
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
//执行curl
$output = curl_exec($ch);
//关闭资源
curl_close($ch);
//返回内容
return $output;
}
$content = get('http://www.****.com/news');//也可用file_get_content()直接获取网页内容
preg_match('/<section class="ov">(.*?)<div class="hr-10"><\/div>/mis', $content, $match);//preg_match():用于执行一个正则表达式匹配preg_match('正则表达式','匹配的内容','匹配结果赋值到变量')
//将正则匹配到的内容赋值给$area
$area = $match[1];
preg_match_all('/<h3><a href="(.*?)" title=".*?" class="headers" target="_blank">(.*?)<\/a><\/h3>/', $area, $find);//preg_match_all()函数匹配字符串中所有出现的结果
var_dump($find);
?>