Opencart - Запрос File_get_contents Через Прокси-сервер

Тема в разделе "Вопросы безопасности", создана пользователем admin, 6 июл 2016.

  1. TopicStarter Overlay
    Online

    admin Команда форума Администратор

    Сообщения:
    1.581
    Симпатии:
    22.413
    Репутация:
    124
    В этой горячей заметке вы научитесь осуществлять запрос на сторонний ресурс функцией file_get_contents через прокси-сервер.

    Для решения нашей задачи необходимо подготовить массив параметров и выполнить запрос:
    Код:
    $aContext = array(
        'http' => array(
            'proxy' => 'tcp://192.168.0.1:3128',
            'request_fulluri' => true,
        ),
    );
    $cxContext = stream_context_create($aContext);
    
    $sFile = file_get_contents("http://www.google.com", False, $cxContext);
    
    echo $sFile;
    
    В результате выполнения операции у вас может возникнуть ошибка: Warning: file_get_contents(http://www.google.com) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 407 Proxy Authentication Required. Это может произойти, если требуется аутентификация:

    Код:
    $auth = base64_encode('LOGIN:PASSWORD');
    
    $aContext = array(
        'http' => array(
            'proxy' => 'tcp://192.168.0.1:3128',
            'request_fulluri' => true,
            'header' => "Proxy-Authorization: Basic $auth",
        ),
    );
    $cxContext = stream_context_create($aContext);
    
    $sFile = file_get_contents("http://www.google.com", False, $cxContext);
    
    echo $sFile;