function s_http_response($url, &$params = false, $method = "get") { if (s_bad_string($url)) { return false; } if ($params === false) { $params = array(); } $curl = curl_init(); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_VERBOSE, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); if (isset($_SERVER['HTTP_USER_AGENT'])) { curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); } if (isset($params["cookie"])) { //有cookie $arr = array(); foreach ($params["cookie"] as $key => $value) { $arr[] = $key . "=" . rawurlencode($value); } curl_setopt($curl, CURLOPT_COOKIE, implode(";", $arr)); unset($params["cookie"]); } //将余下的post字段添加到http请求中 $arr = array(); if ($method === "get") { //GET foreach ($params as $key => &$value) { if (is_scalar($value)) { $arr[] = $key . "=" . rawurlencode($value); } unset($value); } $url .= (strrpos($url, "?") === false ? "?" : "") . implode("&", $arr); } else { if ($method === "post") { //POST curl_setopt($curl, CURLOPT_POST, 1); if (isset($params["_name"]) && isset($params["_data"])) { //有图片数据提交 _s_http_post1($curl, $params); } else { //简单数据提交 _s_http_post2($curl, $params); } } } //加载URL curl_setopt($curl, CURLOPT_URL, $url); $ret = curl_exec($curl); curl_close($curl); //var_dump($params); //var_dump($ret); return $ret; }
function s_http_response($url, &$params = false, $method = "get", $auto = true) { if (s_bad_string($url)) { return false; } if ($params === false) { $params = array(); } $curl = curl_init(); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_VERBOSE, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); if (isset($_SERVER['HTTP_USER_AGENT'])) { curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); } if ($auto === true) { //只有本站内应用才携带COOKIE if (isset($params["cookie"])) { //有cookie $arr = array(); foreach ($params["cookie"] as $key => $value) { $arr[] = $key . "=" . rawurlencode($value); } curl_setopt($curl, CURLOPT_COOKIE, implode(";", $arr)); unset($params["cookie"]); } //////////////////////////////////////////////////////////////////////////////// //特殊变量(_username,和_password),用于给http添加用户名及密码 // $userpass = ""; if (isset($params['_username'])) { $userpass = $params['_username']; } if (isset($params['_password'])) { $userpass = $userpass . ':' . $params['_password']; } if ($userpass) { //有用户名与密码添加到http头部 curl_setopt($curl, CURLOPT_USERPWD, $userpass); } // //////////////////////////////////////////////////////////////////////////////// } //将余下的post字段添加到http请求中 $arr = array(); if ($method === "get") { //GET foreach ($params as $key => &$value) { if (is_scalar($value)) { $arr[] = $key . "=" . rawurlencode($value); } unset($value); } $url .= (strrpos($url, "?") === false ? "?" : "") . implode("&", $arr); } else { if ($method === "post") { //POST curl_setopt($curl, CURLOPT_POST, 1); if (isset($params["_name"]) && isset($params["_data"])) { //有图片数据提交 _s_http_post1($curl, $params); } else { //简单数据提交 _s_http_post2($curl, $params); } } } //设置问部referer $referer = ''; if (isset($_SERVER['HTTP_REFERER'])) { $referer = $_SERVER['HTTP_REFERER']; } curl_setopt($curl, CURLOPT_REFERER, $referer); //加载URL curl_setopt($curl, CURLOPT_URL, $url); $ret = curl_exec($curl); curl_close($curl); return $ret; }