2017-07-20 21 views
0

我正在嘗試使用Http客戶端來存儲網頁中的HTML。以下代碼片段顯示了我如何配置Http客戶端,它使用php-http/guzzle6-adapter。 我從我的測試中得知,當指向其他網頁時,客戶端正常工作。PHP HTTP客戶端無法解析網頁

<?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開發者工具來檢查交換的請求/響應數據。以下屏幕截圖顯示了我的瀏覽器收到的響應數據。

Screenshot

我注意到,該網站設置,似乎涉及到安全和CPFS餅乾,我會想象這些Cookie什麼是從成功解決了網頁停止我的客戶。但我不知道如何解決這個問題。我想這是其他人以前遇到的問題。任何幫助將非常感激。

+0

將'User-Agent'設置爲您的guzzle config perhapps的一部分? – Scuzzy

+0

謝謝!添加用戶代理數據解決了我的問題 – Brown2025

回答

0

對於任何遇到類似問題的人來說,我發現的解決方案是,如同Scuzzy建議的評論者,將User-Agent數據添加到我的guzzle配置中。

相關問題