见下面的代码:
function implodeKV($kv_glue, $glue, $array) {
$arr = [];
foreach ($array as $k=>$v) {
$arr[] = $k . $kv_glue . $v;
}
return implode($glue, $arr);
}
//get方式获取
function doGet($url, $params = []) {
$query_string = "";
foreach ($params as $k => $v) {
if (!empty($query_string)) {
$query_string .= '&';
}
if (is_array($v)) {
$query_string .= $k . '=' . implodeKV(':', '|', $v);
} else {
$query_string .= $k . '=' . $v;
}
}
if (strlen($query_string) > 0) {
$url .= ($url[strlen($url) - 1] == '?' ? '' : '?');
$url .= $query_string;
}
//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
return $output;
}
//post方式获取
function doPost($url, $params = []) {
//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($params)) {
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
}
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
return $output;
}