首页 > 解决方案 > 即使使用用户代理,file_get_contents 也会被禁止 403

问题描述

我正在使用此功能,即使在定义用户代理和所有标题之后,我也会收到禁止错误。

这是我的功能:

public function webtogo(Request $request) {
        $url = '';
        if( isset($request->url))
        {
            $url = $request->url;
            
            $context = stream_context_create(
             array(
                "http" => array(
                  'method'=>"GET",
                    "header" => "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) 
                            AppleWebKit/537.36 (KHTML, like Gecko) 
                            Chrome/50.0.2661.102 Safari/537.36\r\n" .
                            "accept: text/html,application/xhtml+xml,application/xml;q=0.9,
                     image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3\r\n" .
                            "accept-language: es-ES,es;q=0.9,en;q=0.8,it;q=0.7\r\n" . 
                            "accept-encoding: gzip, deflate, br\r\n"
                                )
                              )
                           );

            $html = file_get_contents($url, false, $context);
        echo $html;
      }
    }

标签: phpweb-scrapingheaderfile-get-contents

解决方案


推荐阅读