php的get、post请求

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));
暂无评论

发送评论 编辑评论


				
上一篇
下一篇