PHP 发送request请求

    /**
     * 发送request请求
     * @param $url
     * @param bool $ssl
     * @param string $type
     * @param null $data
     * @return bool|mixed
     */
    public function is_request($url, $ssl = true, $type = 'GET', $data = null)
    {
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        $user_agent = isset($_SERVER['HTTP_USERAGENT']) ? $_SERVER['HTTP_USERAGENT'] : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36';
        curl_setopt($curl, CURLOPT_USERAGENT, $user_agent);//请求代理信息
        curl_setopt($curl, CURLOPT_AUTOREFERER, true);//referer头 请求来源
        curl_setopt($curl, CURLOPT_TIMEOUT, 30);//请求超时
        curl_setopt($curl, CURLOPT_HEADER, false);//是否处理响应头
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//curl_exec()是否返回响应
        if ($ssl) {
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);//禁用后curl将终止从服务端进行验证
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);//检查服务器ssl证书中是否存在一个公用名(common name)
        }
        if ($type == "POST") {
            curl_setopt($curl, CURLOPT_POST, true);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        //发出请求
        $response = curl_exec($curl);
        if ($response === false) {
            return false;
        }
        return $response;
    }
发布了22 篇原创文章 · 获赞 0 · 访问量 4883

猜你喜欢

转载自blog.csdn.net/u012387141/article/details/52817969