使用 php/guzzle 从 uri 获取 Json
Get Json with php/guzzle from uri
我正在执行 artisan 命令以获取此网页中的 json:
https://www.arera.it/it/atti-18.json
我正在使用 php/guzzle 库:
$client = new \GuzzleHttp\Client();
$crawler = $client->request('GET', 'https://www.arera.it/it/atti-18.json');
echo $res->getBody();
但是我在输出控制台中收到了这个:
<html><head><title>Request Rejected</title></head><body>The requested URL was rejected. Please consult with your administrator.<br><br>Your support ID is: 5887289226846801693</body></html>
而不是 json。有人可以帮助我吗?我正在使用 laravel 5.4 和最新版本的 guzzle。
此类消息可以由保护服务器免遭误用的过滤器生成。
此类封禁通常会在一天后到期,因此您可以稍后再试。
好的,我已经解决了我的问题。在我的客户请求中,我添加了 headers 数组,就像在 guzzle 文档 http://docs.guzzlephp.org/en/stable/request-options.html#headers 中一样。所以我的客户要求是:
$res = $client->request('GET', 'https://www.arera.it/it/atti-18.json',[
'headers' => [
'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
'accept' => 'image/webp,image/apng,image/*,*/*;q=0.8'
],
'debug' => 'true',
]);
也许它可以帮助其他人。谢谢大家的回复。
我正在执行 artisan 命令以获取此网页中的 json: https://www.arera.it/it/atti-18.json
我正在使用 php/guzzle 库:
$client = new \GuzzleHttp\Client();
$crawler = $client->request('GET', 'https://www.arera.it/it/atti-18.json');
echo $res->getBody();
但是我在输出控制台中收到了这个:
<html><head><title>Request Rejected</title></head><body>The requested URL was rejected. Please consult with your administrator.<br><br>Your support ID is: 5887289226846801693</body></html>
而不是 json。有人可以帮助我吗?我正在使用 laravel 5.4 和最新版本的 guzzle。
此类消息可以由保护服务器免遭误用的过滤器生成。 此类封禁通常会在一天后到期,因此您可以稍后再试。
好的,我已经解决了我的问题。在我的客户请求中,我添加了 headers 数组,就像在 guzzle 文档 http://docs.guzzlephp.org/en/stable/request-options.html#headers 中一样。所以我的客户要求是:
$res = $client->request('GET', 'https://www.arera.it/it/atti-18.json',[
'headers' => [
'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
'accept' => 'image/webp,image/apng,image/*,*/*;q=0.8'
],
'debug' => 'true',
]);
也许它可以帮助其他人。谢谢大家的回复。