接口请求返回错误:ERROR PHP Notice: Undefined index: HTTP_USER_AGENT

项目用的是curl请求出现这个错误的原因是服务端没有接收到UserAgent。

UserAgent
User Agent为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

解决办法:使用CURLOPT_USERAGENT伪造 User-Agent

curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36');
   /*HTTP请求(支持HTTP/HTTPS,支持GET/POST)*/
    public function http_request($url, $data = null)
    {
        $curl = curl_init();//HTTP_USER_AGENT  User-Agent
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, TRUE);
        if (!empty($data)) {
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36');
        $output = curl_exec($curl);
        curl_close($curl);
        return $output;
    }

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐