Не могу получить JSON ответ с сервера

Пытаюсь выполнить запрос к серверу, но возникает ошибка типа CORS Policy. Что я делаю не так и как получить JSON данные с сервера? При попытке сделать запрос с помощью PHP (Curl) отдает кусок сгенерированного html кода

    const xhr = new XMLHttpRequest;

    xhr.open('GET', 'https://www.wildberries.ru/webapi/product/65735329/data?stores=119261&ids=65735329&subject=6455&kind=0&brand=140686&_v=9.3.28.2&targetUrl=XS');

    xhr.setRequestHeader("Access-Control-Allow-Origin", "*")

    xhr.setRequestHeader('Content-Type', 'application/json');

    xhr.setRequestHeader('Access-Control-Allow-Methods', 'GET')

    //xhr.setRequestHeader('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.167 YaBrowser/22.7.4.957 Yowser/2.5 Safari/537.36');

    xhr.onreadystatechange = function() {
        console.log(xhr.responseText)
    }

    xhr.send();

На PHP пробую делать так:

<?php


header('Access-Control-Allow-Origin: *');
header('Access-Control-Max-Age: 1000');
header('Content-Type', 'application/json');

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://www.wildberries.ru/webapi/product/65735329/data?stores=119261&ids=65735329&subject=6455&kind=0&brand=140686&_v=9.3.28.2&targetUrl=XS');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$res = curl_exec($curl);
curl_close($curl);

echo "<pre>";
print_r($res);

Когда открываю ответ в браузере, то он выглядит следующим образом, а когда пытаюсь спарсить, то получаю либо HTML, либо CORS Policy. введите сюда описание изображения

Вот список передаваемых заголовков в консоле Chrome.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Danil Apsadikov

Из-за настроенной CORS политики на стороне сервера wildberries, ты можешь обращаться к API только с домена wildberries. Это можно обойти, если добавить к запросу дополнительные заголовки, их можно посмотреть, если перейти на wildberries и открыть консоль с запросами

→ Ссылка