Home > Article > Backend Development > CURL如何获取HTTPS协议的状态码
$curl = curl_init();$url='https://';curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl,CURLOPT_NOBODY,true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); echo curl_getinfo($curl,CURLINFO_HTTP_CODE); curl_close($curl);
https ?求?要加上
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
<?php/** curl 获取 https 请求* @param String $url 请求的url* @param Array $data 要?送的??* @param Array $header 请求时发送的header* @param int $timeout 超时时间,默认30s*/function curl_https($url, $data=array(), $header=array(), $timeout=30){ $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); $response = curl_exec($ch); $code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if($error=curl_error($ch)){ die($error); } curl_close($ch); return array($code,$response);}// 调用$url = 'https://example.com/message.php';$data = array('name'=>'fdipzone');$header = array();list($code, $response) = curl_https($url, $data, $header, 5);echo $code;echo $response;?>