PHP-curl模拟GET请求

2021-03-22 21:27 阅读:2172
    /**
     * 模拟get请求
     * @param string $url 请求地址
     * @param bool $decode 是否decode返回数据
     * @return bool|mixed|string
     */
    public static function _requestGetcurl($url, $decode = true)
    {
        //curl完成
        $curl = curl_init();
        //设置curl选项
        $header = array(
            "authorization: Basic YS1sNjI5dmwtZ3Nocmt1eGI2Njp1TlQhQVFnISlWNlkySkBxWlQ=",
            "content-type: application/json",
            "cache-control: no-cache",
            "postman-token: cd81259b-e5f8-d64b-a408-1270184387ca"
        );
        curl_setopt($curl, CURLOPT_HEADER, 1);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
        curl_setopt($curl, CURLOPT_URL, $url);//URL
        curl_setopt($curl, CURLOPT_HEADER, 0);             // 0:不返回头信息
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_TIMEOUT, 30);//设置超时时间
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        // 发出请求
        $response = curl_exec($curl);
        if (false === $response) {
            echo '<br>', curl_error($curl), '<br>';
            return false;
        }
        curl_close($curl);
        $forms = stripslashes(html_entity_decode($response));
        if ($decode) $forms = json_decode($forms, TRUE);
        return $forms;
    }

参数解读:

参数名类型描述必填可选值
$urlstring请求地址网络请求地址
$decodebool是否返回格式化后的数据false

使用示例:

public function test()
{
       $ext_url = 'api地址';
       $result = ClassName::_requestGetcurl($ext_url, false);
}

文中的ClassName请替换为自己的文件类名

{{commentTotal}} 条评论

{{item.nickname}}
{{item.create_date}}
{{item.content}}
- 上拉或点击加载更多 -
- 加载中 -
- 没有更多了 -
- 本文链接 -