Ответа нет с домашнего сервера, нет заголовков, ничего. С других серверов хорошо работает.
$url = "https://tariff.pochta.ru/v2/calculate/tariff/delivery?json&weight=60&from=685000&to=101000&object=4030&closed=0";
echo file_get_contents($url, null, stream_context_create(['http'=>['method'=>"GET", 'timeout' => 4, 'ignore_errors' => true]]));
Я решил, что мой IP забанен, но почему-то из браузера хорошо работает (с очищенными куками).
Тогда я стал пробовать curl, скопировав туда все заголовки своего браузера, но ответ также пустой.
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 YaBrowser/23.11.0.0 Safari/537.36");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Accept"=>"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"Accept-Encoding"=>"gzip, deflate, br",
"Accept-Language"=>"ru,en;q=0.9,uk;q=0.8",
"Cache-Control"=>"max-age=0",
"Connection"=>"keep-alive",
"Host"=>"tariff.pochta.ru",
"Sec-Ch-Ua"=>'"Chromium";v="118", "YaBrowser";v="23.11", "Not=A?Brand";v="99", "Yowser";v="2.5"',
"Sec-Ch-Ua-Mobile"=>"?0",
"Sec-Ch-Ua-Platform"=>'"Windows"',
"Sec-Fetch-Dest"=>"document",
"Sec-Fetch-Mode"=>"navigate",
"Sec-Fetch-Site"=>"none",
"Sec-Fetch-User"=>"?1",
"Upgrade-Insecure-Requests"=>"1"));
curl_setopt($ch, CURLOPT_HEADER, true);
var_dump(curl_exec($ch));