Onderstaande URL’s zijn zonder problemen op te halen via de browser en Postman, maar via PHP’s file_get_contents krijg je niets binnen en via PHP’s curl_exec krijg je een foutmelding: “HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)”. Ook met verschillende settings voor CURLOPT_HTTP_VERSION krijg je een foutmelding/geen output.
https://opendata.rijksoverheid.nl/v1/infotypes/schoolholidays?output=json
https://opendata.rijksoverheid.nl/v1/infotypes/schoolholidays?output=xml
Kunnen jullie dit reproduceren?
Ik kan het reproduceren. Als je een user agent in je request meestuurt dan werkt het wel:
<?php
$url = "https://opendata.rijksoverheid.nl/v1/infotypes/schoolholidays?output=json";
$opts = [
"http" => [
"method" => "GET",
"header" => "Accept-language: en\r\n" .
"Cookie: foo=bar\r\n" .
"User-Agent: Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.102011-10-16 20:23:10\r\n"
]
];
$context = stream_context_create($opts);
$json = file_get_contents($url, false, $context);
var_dump($json);
1 like