PHP curl,get与post代码
super
2020-09-24 16:28
2701
代码中设置项比较多,可根据情况增删
get
function curl_get($url)
{
$header = [
'Accept: application/json',
];
$curl = curl_init();
// 设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
// 设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, false);
// 超时设置,以秒为单位
curl_setopt($curl, CURLOPT_TIMEOUT, 1);
// 超时设置,以毫秒为单位
// curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);
// 设置请求头
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
// 设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
// 执行命令
$data = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
// 显示错误信息
if ($error) {
// print "Error: " . $error;
return ['code' => 500, 'msg' => $error];
} else {
// 打印返回的内容
// var_dump($data);
// return json_decode($data, true);
return ['code' => 200, 'msg' => 'success', 'data' => $data];
}
}
post
function curl_post($url, $post_data)
{
$header = [
'Accept: application/json',
];
// 初始化
$curl = curl_init();
// 设置抓取的url
curl_setopt($curl, CURLOPT_URL, $url);
// 设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_HEADER, false);
// 设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 超时设置
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
// 超时设置,以毫秒为单位
// curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);
// 设置请求头
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE );
// 设置post方式提交
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
// 执行命令
$data = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
// 显示错误信息
if ($error) {
// print "Error: " . $error;
return ['code' => 500, 'msg' => $error];
} else {
// 打印返回的内容
// var_dump($data);
// print_r(json_decode($data, true));
return ['code' => 200, 'msg' => '', 'data' => $data];
}
}
0 条讨论