1.post的请求
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($curl, CURLOPT_HTTPHEADER, 0);
# do not verify SSL cert
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
$errno = curl_errno($curl);
$error = curl_error($curl);
Log::info('errno ' . $errno . 'error ' .$error);
$data = curl_exec($curl);
curl_close($curl);
return $data;
2.get请求
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($curl);
curl_close($curl);
return $data;
Tips:以上这两种都是默认的传送的form-data形式的,但如果要求content-type的形式为:x-www-form-urlencode的这种形式,且未post请求,需要添加curl_setopt($curl,CURLOPT_HTTPHEADER,array(“Content-Type:application/x-www-form-urlencoded”));除此之外 ,还需要给数据添加$data = http_build_query($data)。这是因为x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串append到url后面,用?分割,加载这个新的url。
即请求的内容为:
$header[] = 'Content-Type:application/x-www-form-urlencoded;charset=UTF-8';
$url = "https:*********.com";
$data = [
'task_id' => $task_id
];
$data = http_build_query($data);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt ($curl, CURLOPT_HTTPHEADER, $header);
# do not verify SSL cert
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
$errno = curl_errno($curl);
$error = curl_error($curl);
Log::info('errno ' . $errno . 'error ' .$error);
//执行命令
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
//显示获得的数据
return $data;