今天撸码用到了Curl的post和get请求并需要绕过SSL验证,现将代码打包以备后用:
function request_by_curl($url, $post_data = '', $timeout = 30) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//post提交,否则get
if ($post_data != '') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_HEADER, false);
//跳过SSL验证
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, '0');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, '0');
$file_contents = curl_exec($ch);
curl_close($ch);
return $file_contents;
}用法举例:
//$result存储返回的数据
//post
$result = request_by_curl('http://www.hadsky.com', 'username=hadsky&password=hadsky.com');
//get
$result = request_by_curl('http://www.hadsky.com');