php的get、post请求
get请求
function http_get($url, $header = [], $proxy = [])
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if (!empty($header)) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
if (!empty($proxy)) {
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch, CURLOPT_PROXY, "{$proxy['ip']}:{$proxy['port']}");
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "{$proxy['username']}:{$proxy['password']}");
}
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
// 用法
http_get("https://api.xxxxxx.com/api?page=1&auth_id=worldic&secret=xxxxx&limit=1");
post请求
function btnPost($url,$postdata)
{
# 初始化一个curl会话
$ch = curl_init();
# 启用时会发送一个常规的POST请求
curl_setopt($ch, CURLOPT_POST, 1);
# 需要获取的URL地址
curl_setopt($ch, CURLOPT_URL, $url);
# 全部数据使用HTTP协议中的"POST"操作来发送。
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
# 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
# 一个用来设置HTTP请求头字段的数组
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
# 设置编码格式
'Content-Type: application/json;charset=utf-8',
'Content-Length: ' . strlen($postdata)
)
);
# curl_exec 执行一个cURL会话。
$response = curl_exec($ch);
# 关闭一个cURL会话
curl_close($ch);
return $response;
}
// 用法
btnPost('http://dev.xxxxxx.com', json_encode($body));