Symfony HttpClient и Simple HTML DOM?
Использую SymfonyComponentHttpClientHttpClient для получения содержимого страницы т.к использую прокси
// Настраиваем клиент $this->httpClient = HttpClient::create( [ 'proxy' => $connection, ] ); |
// Настраиваем клиент $this->httpClient = HttpClient::create( [ 'proxy' => $connection, ] );
// Получаю содержимое страницы - все нормально загружается, в переменной $web строка $web = $this->httpClient->request('GET', 'yandex.ru')->getContent(); |
// Получаю содержимое страницы - все нормально загружается, в переменной $web строка $web = $this->httpClient->request('GET', 'yandex.ru')->getContent();
Принудительно к строке, приводил, то же самое на выходе. $web = (string) $web;
use simplehtmldomHtmlWeb; // В $this->client библиотека $this->client->load($web); // результат null |
use simplehtmldomHtmlWeb; // В $this->client библиотека $this->client->load($web); // результат null
Если передаю напрямую simple html dom - все нормально загружается, не дружит именно с форматом Symfony HttpClient.
$this->client->load($web, true, false); - с опциями, игрался, не помогло.
Дополнительно:
Ну так включите дебаггер, посмотрите, что возвращает getInfo, getHeaders, getContent и т.д.
Кто-ж знает, что у вас там за прокси, верно ли вы всё настроили. Проанализируйте хедеры, наверняка там что-то есть
Ответы:
Нужна не наугад с опциями играться, а сравнивать ответ из Symfony-клинета с тем HTML который получается успешно обработать.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Symfony HttpClient и Simple HTML DOM - это два различных инструмента для работы с веб-ресурсами, но они имеют разные функциональные возможности и применение.
Symfony HttpClient - это компонент Symfony, который предоставляет удобный способ взаимодействия с внешними HTTP-сервисами. Он предоставляет возможность отправлять HTTP-запросы, получать HTTP-ответы, работать с куками и заголовками запроса. Symfony HttpClient поддерживает асинхронные запросы, параллельные запросы и обработку большого объема данных. Он предоставляет удобный API для работы с HTTP-запросами и позволяет легко интегрировать его в проекты Symfony.
Simple HTML DOM - это библиотека PHP, которая предоставляет простой и удобный способ парсинга HTML-страниц. Она позволяет легко получать данные из HTML-документов, обрабатывать DOM-структуру, находить элементы по CSS-селекторам и выполнять другие операции с HTML-кодом. Simple HTML DOM удобен для скрапинга данных с веб-сайтов, извлечения информации из HTML-разметки и работы с контентом веб-страниц.
Symfony HttpClient и Simple HTML DOM могут использоваться вместе для создания мощных и гибких веб-приложений. Например, Symfony HttpClient может отправлять запросы к внешним сервисам для получения данных, а Simple HTML DOM может использоваться для парсинга и обработки полученной информации. Таким образом, комбинирование этих инструментов позволяет создавать сложные и функциональные приложения для работы с веб-ресурсами.
В заключение, Symfony HttpClient и Simple HTML DOM - это два различных инструмента, которые могут дополнять друг друга и использоваться в совместных проектах для эффективной работы с веб-ресурсами. Они предоставляют удобные и мощные средства для отправки HTTP-запросов, обработки HTML-кода и работы с веб-сервисами.