Сначала убедитесь, что 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.

При проверке маршрута отличайте свежее получение от ленты из кеша. Показ существующих элементов не доказывает, что какая-либо новая загрузка использовала измененный прокси.

Похожие статьи