【问题标题】:PHP HTTP client not able to resolve web pagePHP HTTP客户端无法解析网页
【发布时间】:2017-12-25 19:23:18
【问题描述】:

我正在尝试使用 Http 客户端来存储网页中的 HTML。以下代码 sn-p 显示了我如何配置 Http 客户端,它使用 php-http/guzzle6-adapter。 从我的测试中我知道客户端在指向其他网页时可以正常工作。

<?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();

?>

无论我做什么,我试图解决的页面https://workingwithchildren.wa.gov.au/都会返回以下错误。

请求的 URL 被拒绝。请咨询您的管理员。

您的支持 ID 是:9283834035315018727

我将浏览器指向该网站并使用 Chrome 开发人员工具检查正在交换的请求/响应数据。下面的屏幕截图显示了我的浏览器收到的响应数据。

我注意到该站点正在设置似乎与安全性和 CPFS 相关的 cookie,我想这些 cookie 会阻止我的客户端成功解析网页。但我不知道如何解决这个问题。我想这是其他人以前遇到过的问题。任何帮助将不胜感激。

【问题讨论】:

  • User-Agent 设置为您的 guzzle 配置的一部分?
  • 谢谢!添加用户代理数据解决了我的问题

标签: php http guzzle6


【解决方案1】:

对于遇到类似问题的任何人,我找到的解决方案是,正如评论者 Scuzzy 建议的那样,将 User-Agent 数据添加到我的 guzzle 配置中。

【讨论】:

    猜你喜欢
    • 2019-08-01
    • 2021-04-10
    • 2018-04-16
    • 2019-05-17
    • 2020-12-10
    • 1970-01-01
    • 2018-06-21
    • 2017-05-05
    • 1970-01-01
    相关资源
    最近更新 更多