您现在的位置是:首页>技术文章>详情
php使用curl
发布时间:2020-07-02文章类型:原创浏览(249553)
function curl($url,$data='',$headers=[]){
// header头
$headers = array('Content-Type: application/x-www-form-urlencoded');
// 判断浏览器代理 默认Mozilla/5.0
$web = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36';
$http_user_agent = isset($_SERVER['HTTP_USER_AGENT'])
? $_SERVER['HTTP_USER_AGENT']
: $web;
// 启动一个CURL会话
$curl = curl_init();
// 要访问的地址
curl_setopt($curl, CURLOPT_URL, $url);
// 是否对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
// 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
// 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_USERAGENT, $http_user_agent);
// 使用自动跳转
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
// 自动设置Referer
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
// 开启POST 否则直接GET提交
if ($data != "") {
// 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POST, 1);
// Post提交的数据包
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
// 设置超时限制防止死循环,单位秒
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
// 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_HEADER, 0);
// 获取的信息以文件流的形式返回
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 设置header头
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
// 执行操作
$result = curl_exec($curl);
if (curl_errno($curl)) {
//捕抓异常
return 'Errno'.curl_error($curl);
}
// 关闭CURL会话
curl_close($curl);
return $result;
}
关键字词:php,curl