我试图使用Http客户端来存储网页中的HTML。下面的代码片段显示了我如何配置Http客户机,它使用php-http/guzzle6 6-适配器。我从我的测试中得知,当客户端指向其他网页时,它会正常工作。
<?php
require_once(__DIR__.'/vendor/autoload.php');
use Http\Adapter\Guzzle6\Client as GuzzleAdapter;
use GuzzleHttp\Psr7\Request;
$config = [
'verify' => false,
'timeout' => 2
];
$adapter = GuzzleAdapter::createWithConfig($config);
$request = new Request('GET', 'https://workingwithchildren.wa.gov.au/');
// Returns a Psr\Http\Message\ResponseInterface
$response = $adapter->sendRequest($request);
echo $response->getBody();
?>但是,无论我做什么,我试图解决的页面都会返回以下错误。
请求的URL被拒绝。请咨询您的管理员。 您的支持ID是: 9283834035315018727
我将浏览器指向网站,并使用工具检查正在交换的请求/响应数据。下面的屏幕截图显示我的浏览器收到的响应数据。

我注意到网站设置的cookie似乎与安全性和CPFS有关,我可以想象这些cookie是阻止我的客户成功解析网页的原因。但我不知道怎么解决这个问题。我想这是别人以前遇到过的问题。任何帮助都将不胜感激。
发布于 2017-07-21 07:26:30
对于任何遇到类似问题的人,我发现的解决方案是,正如评论员所建议的那样,将用户代理数据添加到我的guzzle中。
https://stackoverflow.com/questions/45208900
复制相似问题