#php #json #get #magento2 #file-get-contents
#php #json #получить #magento2 #file-get-contents
Вопрос:
Я прихожу сюда со своим первым вопросом каждый раз, так как я больше не знаю, что делать.
У меня есть URL-адрес (конечная точка из API с 0 мерами безопасности), который возвращает мне 2,5 Мб json с почти 3000 продуктами. Здесь все хорошо. Дело в том,:
Если я использую следующий код на ЛОКАЛЬНОМ хосте с сервером XAMPP… ВСЕ ХОРОШО. Весь мой возвращенный JSON действителен, я могу использовать для него json_decode() и получать от этого удовольствие.
$response= file_get_contents($url);
var_dump($response);
НО
Если я использую тот же код на своем хостинге, где у меня есть свой веб-сайт в производстве…все, что я получаю, это фрагментированный / иногда сокращенный вдвое JSON, который всегда завершается ошибкой при json_decode();
Проблема в том, что я see..is что я получаю контент разного размера.
На первом изображении у меня есть строка размером 2 551 849, на изображении escond у меня есть строка размером 817 600
Имейте в виду, что используется тот же код. Первое, о чем я сейчас думаю, это то, что, возможно, у моего хостинга есть ограничение на такие выходные данные …?
Есть ли такая вещь? Как я могу это отладить?
Я добрался до 10-й страницы Google / Stack и не смог найти ничего подобного.
Ответ №1:
Кажется, я нашел проблему.
Мой хостинг использовал LiteSpeed, и у них есть безопасный механизм защиты от DDoS-атак.
Похоже, что ответ от моей конечной точки был слишком большим, и LiteSpeed подумал, что это DDoS-атака.
Отключение такого механизма должно исправить это.