Intereting Posts
имя функции ($ param, $ line = __LINE__, $ file = __FILE__) {}; Как получить XML-данные, созданные веб-сайтом (webservice) в PHP? Изменение переменных сеанса PHP с помощью файла include Невозможно поместить гиперссылку в PHP echo statement Подтвердите отправку на внешние ссылки в WordPress PHP – создание эскизов и сохранение пропорций mysqli auto увеличил первичный идентификатор, который был сгенерирован Извлечь листовые узлы многомерного массива в PHP Строка PHP не допускает символов <и> Ошибка SSL: как перенаправить https://www.domain.com на http://domain.com через .htaccess, чтобы избежать ошибки SSL Семантический Ui Modal дублируется при повторных вызовах Санитарный ввод, но выход не так, как ожидалось График X-оси Highcharts для разных диапазонов дат Как сортировать по двум значениям, а затем поле ASC в массиве с использованием usort () в PHP? Aptana PHP Formatter – использование пользовательских правил форматирования

аутентифицировать прокси-сервер squid throw (PHP-сокет)

Я хотел бы создать программу, которая могла бы аутентифицировать прокси-сервер Squid. Я использую сокет в PHP langage

Как встроенные потоки, так и расширение cURL имеют возможность делать запросы через прокси. Использование либо было бы предпочтительнее использовать сокет напрямую.

Расширение cURL прямо упоминает прокси-аутентификацию, в то время как потоки явно не упоминают об этом, но принимает прокси как URI, поэтому вы могли бы использовать синтаксис proto://user:pass@host:port . Я не пробовал и не знаю точно, если это сработает.

Я предполагаю, что вы имеете в виду, что хотите сделать HTTP-запрос через прокси-сервер, для которого требуется проверка подлинности, а не использовать метод проверки подлинности в Squid для проверки запросов на ваш веб-сервер.

Вам просто нужно установить правильные значения для CURLOPT_PROXYAUTH CURLOPT_PROXYPORT (обычно 3128) и CURLOPT_PROXYTYPE (http)

 $ch = curl_init(); $opts=array( CURLOPT_PROXY="squid.example.com", CURLOPT_PROXYPORT=>3128, CURLOPT_PROXYTYPE=>CURLPROXY_HTTP, CURLOPT_PROXYAUTH=>CURLAUTH_BASIC, CURLOPT_PROXYUSERPWD=>"${username}:${password}", CURLOPT_URL=>"http://www.example.com/sompage.html"); curl_setopt_array($opts); curl_exec($ch); 

Обратите внимание, что это предполагает, что кальмар настроен для проверки подлинности HTTP (а не для проверки подлинности на основе сеанса или NTLM).

Вы действительно не хотите делать это с помощью сокетов в PHP.

НТН

C.