Отправка запорса (form/data) на чужой сервер

Изучаю парсинг сайтов через PHP и Curl, требуется получить HTML определенной страницы. Для подгрузки HTML-структуры на сайте отправляются POST-запросы типа (form-data) с параметрами (offset, id) и тд. На что сервер выдает js-объект с HTML-разметкой. Я создал запрос через программу POSTMAN, все удачно. Как я могу это реализовать в коде? При отправке запроса по типу:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
var_dump(curl_exec($ch));
curl_close($ch);

Получаю что-то такое:

{"payload":["3",["\"c5f522fb410d63197d\"","\"P2FjdD1nZXRfdmFsJmZpeGVkPSZvZmZzZXQ9MjAmb25seUNhY2hlPSZvd25lcl9pZD0xJnR5cGU9b3duJndhbGxfc3RhcnRfZnJvbT0yMA--\""]],"statsMeta":{"platform":"web2","st":false,"time":1591558012,"hash":"AjdrzGzVBZebCSAI1C9zgBrHsDGaPn9zztt51ZVYLk0"},"loaderVersion":"7808606","langVersion":"7023"}

Хотя при отправке этого же запроса через POSTMAN получаю:

{"payload":[0,["тут HTML"]]}

Я посмотрел что можно отправлять post-запросы с помощью CORS, но насколько я понимаю он работает с API. Как я могу решить мою проблему? Буду очень благодарен за ответы или замечания!


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

Автор решения: Androeed Hack

Спасибо @DanielProtopopov за советы!

Решение:

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => $data,
    CURLOPT_HTTPHEADER => array(
        "Cookie: remixlang=0; remixlhk=148cb780fd2443af6d; remixstid=427709366_93zixBNs0TAczEbB7kdCKN5z7ONhJo5gUe1xuh4VoM4; remixff=00; remixua=-1%7C-1%7C-1%7C483568781"
    ),
));

$response = curl_exec($curl);

curl_close($curl);
→ Ссылка