21,886
社区成员
发帖
与我相关
我的任务
分享
public function sendHttpData($url='',$params=[],$method = 'POST', $options = [])
{
$method = strtoupper($method);
$protocol = substr($url, 0, 5);
$query_string = is_array($params) ? http_build_query($params) : $params;
$ch = curl_init();
$defaults = [];
if ('GET' == $method)
{
$geturl = $query_string ? $url . (stripos($url, "?") !== FALSE ? "&" : "?") . $query_string : $url;
$defaults[CURLOPT_URL] = $geturl;
}
else
{
$defaults[CURLOPT_URL] = $url;
if ($method == 'POST')
{
$defaults[CURLOPT_POST] = 1;
}
else
{
$defaults[CURLOPT_CUSTOMREQUEST] = $method;
}
$defaults[CURLOPT_POSTFIELDS] = $query_string;
}
$defaults[CURLOPT_HEADER] = TRUE;
$defaults[CURLOPT_USERAGENT] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.98 Safari/537.36";
$defaults[CURLOPT_FOLLOWLOCATION] = TRUE;
$defaults[CURLOPT_RETURNTRANSFER] = TRUE;
$defaults[CURLOPT_CONNECTTIMEOUT] = 3;
$defaults[CURLOPT_TIMEOUT] = 3;
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
if ('https' == $protocol)
{
$defaults[CURLOPT_SSL_VERIFYPEER] = FALSE;
$defaults[CURLOPT_SSL_VERIFYHOST] = FALSE;
$defaults[CURLOPT_SSLVERSION] = 3;
}
curl_setopt_array($ch, (array) $options + $defaults);
$ret = curl_exec($ch);
$err = curl_error($ch);
if (FALSE === $ret || !empty($err))
{
$errno = curl_errno($ch);
$info = curl_getinfo($ch);
curl_close($ch);
return [
'ret' => FALSE,
'errno' => $errno,
'msg' => $err,
'info' => $info,
];
return ['status'=>FALSE,'message'=>$err,'errno'=>$errno,'info'=>$info];
}
list($header,$body) = explode("\r\n\r\n", $ret, 2);
curl_close($ch);
$data = json_decode($body,true);
return $data;
}
echo json_encode(array('code' => 1002, 'message' => 'Incorrect user name or password','data'=>[]));
die();