DISPERATO! autenticazione dietro PROXY

erboccia

Nuovo Utente
14 Set 2009
3
0
0
Ciao, mi trovo dietro un proxy e non riesco ad effettuare l'autenticazione.
Credo che il problema sia nella username dato che è del tipo dominio\username per esempio nomeAzineda\francesco, infatti dietro un proxy con autenticazione classica il codice seguente funziona correttamente.

$auth = base64_encode('$username:$password);
$aContext = array(
'http' => array(
'proxy' => 'tcp://$proxy:$port',
'request_fulluri' => true,
'header' => "Proxy-Authorization: Basic $auth", ),);
$cxContext = stream_context_create($aContext);
$sFile = new SimpleXMLElement(file_get_contents($url, False, $cxContext));
echo "</br>".$sFile->Response->Placemark->address;

Non so se puo essere utile ma vi allego cosa ottengo in risposta:
HTTP/1.1 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. ) Via: 1.1 SERPRB101RM001 Proxy-Authenticate: Negotiate Proxy-Authenticate: Kerberos Proxy-Authenticate: NTLM Connection: Keep-Alive Proxy-Connection: Keep-Alive Pragma: no-cache Cache-Control: no-cache Content-Type: text/html Content-Length: 4132

Grazie ciao
 
Ciao!

Purtroppo non mi è chiarissima la tua richiesta nel senso che ho capito cosa devi fare ma mi mancano dei dettagli. L'autenticazione, da quel che hai scritto, è NTML ovvero Windows Authentication..

A questo link c'è un esempio completo e funzionante
http://rabaix.net/en/articles/2008/03/13/using-soap-php-with-ntlm-authentication
Spero sia quello che cercavi..

Viceversa quì puoi trovare i dettagli della http authentication
http://www.php.net/manual/en/features.http-auth.php
ma credo che il tuo caso risieda al punto 1.

Saluti
Ciro
 
....ancora niente...

Innanzitutto grazie mille ;)!! però non ho risolto il problema, provo a spiegarmi meglio: il codice che ho postato precedentemente non mi da alcun problema dietro un proxy con autenticazione classica cioè dove username e password sono della forma $username = "abc" e $password= "123", purtroppo pero lo stesso codice non mi funziona dietro ad un proxy in cui gli utente sono divisi in gruppi di permessi, ( come per esempio il gruppo visitatori con permessi limitati o il gruppo admnistrator senza limitazioni). Infatti la user con cui mi loggo al proxy (per esempio tramite IE o per MSN) e del tipo telecomitalia\erboccia dove telecomitalia è un dominio (o meglio un gruppo) di cui ne fa parte erboccia e di cui ne eredita i permessi.
Non so come passare al proxy che l'autenticazione di erboccia deve essere fatta all'interno del gruppo telecomitalia.

Grazie per l'aiuto :)
 
Ciao,

io lavoro come consulente in TI.
L'autenticazione sul dominio telecomitalia è basata su NTLM (che ti citavo nell'altro post - ecco perchè nel caso classico funziona e in questo no). Ora se devi connetterti al dominio TI puoi tentare la connessione al tuo proxy es serprx101rm001.services.external.local
settendo opportunamente la porta (es 8080) utilizzando quest'esempio:
http://www.beanizer.org/site/index.php/Articoli/NuSOAP-HTTP-Authentication-e-HTTP-Proxy.html
Tuttavia se sei dall'esterno della rdg(rete di gruppo) per TI è necessaria una VPN!

Spero di esserti stato d'aiuto.
Ciro
 
Grande!! risolto!!!!

Grazie mille ora funziona!!!
ho risolto cosi (magari sarà utilie per qualcun'altro):

$request_url= "http://www.google.it";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request_url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_ANY);// si può anche usare CURLAUTH_NTLM
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_PROXY, 'ip_proxy');
curl_setopt($ch, CURLOPT_PROXYPORT, 'porta_proxy');
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'dominio\user:password');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
echo $result;

E' necessario avere CURL extension abilitata nel file php.ini:
E' necessario togliere il ';' dalla riga extension=php_curl.dll

ciao e grazie di nuovo.:fonzie:
 

Discussioni simili