CURL post data 通用方法
private function http_request($url,$method="GET", $data = null, $header = null)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
if(!empty($header)){
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_HEADER, 0);//返回response头部信息
}
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
if (!empty($data)) {
curl_setopt($curl, CURLOPT_HTTPGET, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS,http_build_query($data));
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output = curl_exec($curl);
if (curl_errno($curl)) {
return curl_error($curl);
}
curl_close($curl);
return $output;
}这是带header的
function login()
{
$mobile = $this->input->get('mobile',TRUE);
$mobilecode = $this->input->get('mobilecode',TRUE);
$uniqueId = $this->input->get('uid',TRUE);
$headersLogin = array(
"X-Ca-Stage:TEST",
"Authorization:APPCODE 398e4de4d3694c9d93e9b6394b8fad2e",
"Content-Type:application/x-www-form-urlencoded; charset=utf-8",
"channelId:1",
"empid:H5LINE",
);
$urlLogin = "https://api.xxx.com/v1/auth/nuskin/user/b2cmember/auth";
$dataLogin = array(
"userCode" => $mobile,
"verifyCode" => $mobilecode,
"trench" => "wx",
"loginType" => "mobile",
"uniqueId" => $uniqueId,
"loginFlag" => 2,
"loginSource" => 2,
);
$resDataLogin = $this->http_request($urlLogin,"POST",$dataLogin,$headersLogin);
$notice = array('status'=>200,'msg'=>'操作成功','res'=>json_decode($resDataLogin,TRUE));
echo json_encode($notice,JSON_UNESCAPED_UNICODE);
exit;
}就这么多了,反正是一个值得记录的传header和body以及get,post共同的方法
发布时间:2023-03-15,18:41:29
curl经典php例子。参考aligate网关相关。
