感觉php curl比较常用,就发布了这个我经常用的函数。
<?php
function mycurl($url, $header = [], $post_data = '', $redirect = true, $getheader = false)
{
// 初始化cURL
$curl = curl_init();
// 设置网址
curl_setopt($curl, CURLOPT_URL, $url);
// 设置请求头
if (empty($header)) {
$header = [
'Referer: never',
'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36'
];
}
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
// 设置POST数据
if (empty($post_data)==false) {
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
}
// 设置重定向
if ($redirect == true) {
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
}
//允许执行的最长秒数 超时时间
curl_setopt($curl, CURLOPT_TIMEOUT, 5);
// 过SSL验证证书
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
// 将头部作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, $getheader == true ? true : false);
// 设置以变量形式存储返回数据
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// 请求并存储数据
$return = curl_exec($curl);
// 获取网站返回协议头
if ($getheader == true) {
$return_header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
$return = substr($return, 0, $return_header_size);
}
// 关闭cURL
curl_close($curl);
// 返回数据
return $return;
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容