Задать вопрос
@jugger1

Как сделать так, что бы ответ curl запроса приходил в виде html, а не json?

Отправляю curl запрос, а в ответ приходит json файл с большим количеством массивов, который сложно распарсить. Как сделать так, что бы ответ приходил как html страница ?
$ch = curl_init();
  
        curl_setopt($ch, CURLOPT_URL, 'тут указал сайт');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "тут указал json");
        curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');

        $headers = array();
        $headers[] = 'Authority: тут сайт';
        $headers[] = 'X-Calledmethod: Event.Get';
        $headers[] = 'X-Lastmodification: 2021-01-20T175611.534664+03';
        $headers[] = 'Accept-Language: ru-RU;q=0.8,en-US;q=0.5,en;q=0.3';
        $headers[] = 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36';
        $headers[] = 'Content-Type: application/json; charset=UTF-8';
        $headers[] = 'Accept: application/json, text/javascript, */*; q=0.01';
        $headers[] = 'X-Requested-With: XMLHttpRequest';
        $headers[] = 'X-Originalmethodname: RXZlbnQuR2V0';
        $headers[] = 'Origin: www.example ';
        $headers[] = 'Sec-Fetch-Site: same-origin';
        $headers[] = 'Sec-Fetch-Mode: cors';
        $headers[] = 'Sec-Fetch-Dest: empty';
        $headers[] = 'Referer: тут указал сайт';
        $headers[] = 'Cookie:тут куки"';
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

        $result = curl_exec($ch);
        if (curl_errno($ch)) {
            echo 'Error:' . curl_error($ch);
        }
        curl_close($ch);
        return $result;
  • Вопрос задан
  • 531 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Никак, если сайт не поддерживает отдачу html.
Если же поддерживает, то это уже зависит от самого сайта - там может быть это как угодно реализовано. Начать можно с указания корректного заголовка Accept.

Постановка "мне сложно распарсить JSON, поэтому я хочу парсить HTML" очень-очень странная, потому что как раз с JSON работать намного проще. Если, конечно, вы не сам этот HTML формируете (но тогда при чём тут "парсить"?).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы