$file) { $params[$key] = '@' . $file; } curl_setopt($ci, CURLOPT_POSTFIELDS, $params); $headers[] = 'Expect: '; } else { curl_setopt($ci, CURLOPT_POSTFIELDS, http_build_query($params)); } } break; case 'DELETE': case 'GET': if($method == 'DELETE') { curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE'); } if (!empty($params)) { $url = $url . (strpos($url, '?') ? '&' : '?') . (is_array($params) ? http_build_query($params) : $params); } break; } curl_setopt($ci, CURLINFO_HEADER_OUT, TRUE); curl_setopt($ci, CURLOPT_URL, $url); if ($headers) { curl_setopt($ci, CURLOPT_HTTPHEADER, $headers); } $response = curl_exec($ci); if($response === false) { $err = curl_error($ci); $errno = curl_errno($ci); $net_errno = "CURL-{$errno}"; Log::record("netmodule http_request errno={$net_errno} err={$err} url={$url}",Log::ERR); } else { $code = curl_getinfo($ci,CURLINFO_HTTP_CODE); if($code != 200) { $net_errno = "HTTP-{$code}"; Log::record("netmodule http_request http errno={$net_errno} url={$url}",Log::ERR); } } curl_close($ci); return $response; } function http_post_data($url, $body, $headers = array(),&$net_errno = 0) { if (!function_exists('curl_init')) { return false; } $ci = curl_init(); curl_setopt($ci, CURLOPT_USERAGENT, 'PHP-SDK OAuth2.0'); curl_setopt($ci, CURLOPT_RETURNTRANSFER, true); curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ci, CURLOPT_HEADER, false); curl_setopt($ci, CURLOPT_POSTFIELDS, $body); curl_setopt($ci, CURLINFO_HEADER_OUT, TRUE); curl_setopt($ci, CURLOPT_URL, $url); curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($ci, CURLOPT_TIMEOUT, 900); curl_setopt($ci, CURLOPT_POST, TRUE); curl_setopt($ci, CURLOPT_FOLLOWLOCATION, true); if (!empty($headers)) { curl_setopt($ci, CURLOPT_HTTPHEADER, $headers); } $response = curl_exec($ci); if($response === false) { $err = curl_error($ci); $errno = curl_errno($ci); $net_errno = "CURL-{$errno}"; Log::record("netmodule http_post_data errno=$net_errno err=$err url=$url",Log::ERR); } else { $code = curl_getinfo($ci,CURLINFO_HTTP_CODE); if($code != 200) { $net_errno = "HTTP-$code"; Log::record("netmodule http_request http errno=$net_errno url=$url",Log::ERR); } } curl_close($ci); return $response; } function https_request($url, $params = array(), $method = 'GET', $multi = false, $extheaders = array(),&$net_errno = 0) { if (!function_exists('curl_init')) { return false; } $method = strtoupper($method); $ci = curl_init(); curl_setopt($ci, CURLOPT_USERAGENT, 'PHP-SDK OAuth2.0'); curl_setopt($ci, CURLOPT_RETURNTRANSFER, true); curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, 2); curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 60); curl_setopt($ci, CURLOPT_TIMEOUT, 900); curl_setopt($ci, CURLOPT_HEADER, false); curl_setopt($ci, CURLOPT_FOLLOWLOCATION, true); $headers = (array) $extheaders; switch ($method) { case 'POST': curl_setopt($ci, CURLOPT_POST, TRUE); if (!empty($params)) { if ($multi) { foreach ($params as $key => $file) { $params[$key] = '@' . $file; } curl_setopt($ci, CURLOPT_POSTFIELDS, $params); $headers[] = 'Expect: '; } else { curl_setopt($ci, CURLOPT_POSTFIELDS, http_build_query($params)); } } break; case 'DELETE': case 'GET': if($method == 'DELETE') { curl_setopt($ci, CURLOPT_CUSTOMREQUEST, 'DELETE'); } if (!empty($params)) { $url = $url . (strpos($url, '?') ? '&' : '?') . (is_array($params) ? http_build_query($params) : $params); } break; } curl_setopt($ci, CURLINFO_HEADER_OUT, TRUE); curl_setopt($ci, CURLOPT_URL, $url); if ($headers) { curl_setopt($ci, CURLOPT_HTTPHEADER, $headers); } $response = curl_exec($ci); if($response === false) { $err = curl_error($ci); $errno = curl_errno($ci); $net_errno = "CURL-{$errno}"; Log::record("netmodule https_request errno={$net_errno} err={$err} url={$url}",Log::ERR); } else { $code = curl_getinfo($ci,CURLINFO_HTTP_CODE); if($code != 200) { $net_errno = "HTTP-{$code}"; Log::record("netmodule http_request http errno={$net_errno} url={$url}",Log::ERR); } } curl_close($ci); return $response; }