Получение лент SimplePie через прокси с бэкендом cURL
Передайте настройки прокси через публичные опции cURL SimplePie до инициализации ленты, а аутентификацию настройте для посредника.
Сначала убедитесь, что SimplePie использует загрузчик cURL по умолчанию: расширение cURL для PHP должно быть доступно, а приложение не должно принудительно включать fsockopen. Резервный путь через сокет не читает опции cURL.
Для этого пути по умолчанию настройте до init:
$feed = new \SimplePie\SimplePie();
$feed->set_feed_url('https://feeds.example/news.xml');
$feed->set_curl_options([
CURLOPT_PROXY => 'http://proxy.example:8080',
]);
$feed->init();
set_curl_options передает эти значения загрузчику, поэтому редактировать установленный File.php не нужно. HTTP-запись из списка HTTP-прокси может дать пример URL прокси для публичной ленты, если этот маршрут разрешен и учетные данные прокси не настроены. Для аутентификации выберите принятый метод CURLOPT_PROXYAUTH и укажите CURLOPT_PROXYUSERNAME/CURLOPT_PROXYPASSWORD. CURLOPT_HTTPAUTH вместо этого обслуживает конечный сервер.
Для HTTP-клиента, внедренного через set_http_client, настройте его прокси через собственный интерфейс. Опции загрузчика по умолчанию не могут настроить другой транспорт. О пути аутентификации cURL по умолчанию см. опции прокси-аккаунта в PHP cURL.
При проверке маршрута отличайте свежее получение от ленты из кеша. Показ существующих элементов не доказывает, что какая-либо новая загрузка использовала измененный прокси.