cURL через http / sock прокси с аутентификацией

#php #authentication #curl #proxy

#php #аутентификация #curl #прокси

Вопрос:

У меня проблема с очисткой данных через прокси, которые используют аутентификацию. Прокси подключен к сети, он частный и работает очень быстро из браузера.

Однако прокси-сервер требует аутентификации, и я просто не могу понять, почему этот простой скрипт не работает ?!

 <?php
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://automation.whatismyip.com/n09230945.asp");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
    curl_setopt($ch, CURLOPT_PROXY, "proxyIP:proxyPORT");
    curl_setopt($ch, CURLOPT_PROXYUSERPWD,"username:password");

    $result = curl_exec($ch); 
    curl_close($ch); 
    return $result;
?>
 

Я попытался установить CURLOPT_HTTPAUTH с любым допустимым значением, и оно такое же.. Есть предложения?

Комментарии:

1. смогли ли вы решить проблему, упомянутые ответы не работают для меня.

Ответ №1:

Попробуйте установить:

 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 
 

Ответ №2:

Вам нужно использовать CURLOPT_PROXYTYPE, чтобы указать curl, какой тип прокси вы используете, поскольку в противном случае он будет принимать тип по умолчанию, который является HTTP…

Ответ №3:

Попробуйте это :

 curl_setopt($ch, CURLOPT_PROXY, 'proxyIP');
curl_setopt($ch, CURLOPT_PROXYPORT, 'proxyPORT');
 

вместо этого :

 curl_setopt($ch, CURLOPT_PROXY, "proxyIP:proxyPORT");