我尝试获取网站内容时出现禁止错误

时间:2016-12-06 11:56:39

标签: php http guzzle

我正在尝试使用simple_html_dom()获取网页内容,但我得到403 Forbidden
当我尝试浏览器时,我确实可以访问。

$target_url ='http://<URL>';
$html = new simple_html_dom();
$html->load_file($target_url);

我正在尝试使用Guzzel Package,但我再次收到此错误。

$client = new \GuzzleHttp\Client();
$result = $client->request('GET', 'http://<URL>');
dd($result->getBody());

我该怎么办?

1 个答案:

答案 0 :(得分:2)

基于这个问题,很难说出问题所在。但是有一些可能性。

最可能的选择是需要设置一些标头。有些网站拒绝接触浏览器,因此您可以尝试模拟浏览器并查看结果。

另一种可能性(如@federkun所述)是需要设置一些cookie数据或基本访问认证。

宽度guzzle你可以像这样设置标题:

 $client->request('GET', '/foo.js', [
    'headers'        => ['Accept-Encoding' => 'gzip'],
    'decode_content' => false
]);