1 /** 2 * @desc curl post请求 3 * @date 2015-08-19 10:03:47 4 * @name cloudshadow 5 * 6 * @param $url 请求的url 7 * @param $post 请求的数据 8 * 9 * @return bool|mixed 10 */ 11 private function curlPost($url, $post, $header = "") 12 { 13 $ch = curl_init($url); 14 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 15 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 16 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。 17 curl_setopt($ch, CURLOPT_HEADER, $header); // 设置请求头部header数据 18 curl_setopt_array($ch, array( 19 CURLOPT_TIMEOUT => 30, //设置cURL允许执行的最长秒数 30s 20 CURLOPT_CONNECTTIMEOUT => 1, // 在发起连接前等待的时间,如果设置为0,则无限等待。 21 CURLOPT_POST => TRUE, // 是否使用post方式请求 true 是 22 CURLOPT_POSTFIELDS => http_build_query($post), // post 请求数据 23 )); 24 25 //抓取URL并把它传递给浏览器 26 $result = curl_exec($ch); 27 28 //获取执行后的 http 状态码 29 $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 30 if ($httpCode != 200) { // 非200说明异常 31 $result = FALSE; 32 } 33 34 // 获取执行后的 http 头部Header 35 if (isset($_GET['debug'])) { 36 $httpInfo = curl_getinfo($ch); 37 echo '<pre>' . print_r($httpInfo, true) . '</pre>';exit; 38 } 39 40 curl_close($ch); // 关闭cURL资源,并且释放系统资源 41 42 43 44 return $result; 45 }