Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilGalerieRechercherS'enregistrerConnexion

Partagez
 

 Opennab : support de proxy authentifiant

Aller en bas 
AuteurMessage
Thus0
Lapin nain
Lapin nain


Localisation : Paris
Nbr de messages : 5
Carottes : 4482

Opennab : support de proxy authentifiant Empty
MessageSujet: Opennab : support de proxy authentifiant   Opennab : support de proxy authentifiant I_icon_minitimeVen 12 Oct 2007 - 15:40

Bonjour,

j'ai déjà posté un message sur le forum de sourceforge mais comme j'ai l'impression que peu de monde le lit, je remets ici mon post :

http://sourceforge.net/forum/forum.php?thread_id=1843120&forum_id=654765

pour pouvoir faire fonctionner par exemple le nabaztag sur un intranet qui utilise un proxy authentifiant (login/mot de passe) pour sortir sur internet.

a+
Revenir en haut Aller en bas
oaz
Silver Nabz
Silver Nabz


Localisation : Haute-Garonne
Nabaztag : oaz (v2)
Nbr de messages : 352
Carottes : 4779

Opennab : support de proxy authentifiant Empty
MessageSujet: Re: Opennab : support de proxy authentifiant   Opennab : support de proxy authentifiant I_icon_minitimeVen 12 Oct 2007 - 16:38

Ok j'enregistre la demande

Ca devrait intéresser aussi Neffrith qui avait suggéré de revoir la classe Request pour pouvoir fonctionner sans cURL
Revenir en haut Aller en bas
http://barrejadis.azeau.com/
Neffrith
Nabz Junior
Nabz Junior


Localisation : France
Nbr de messages : 71
Carottes : 4543

Opennab : support de proxy authentifiant Empty
MessageSujet: Re: Opennab : support de proxy authentifiant   Opennab : support de proxy authentifiant I_icon_minitimeVen 12 Oct 2007 - 21:43

oaz a écrit:
Ca devrait intéresser aussi Neffrith qui avait suggéré de revoir la classe Request pour pouvoir fonctionner sans cURL
c'est en cours... Je met ca dans le pipe alors

Neff
Revenir en haut Aller en bas
http://sonatine.tag.free.fr
oaz
Silver Nabz
Silver Nabz


Localisation : Haute-Garonne
Nabaztag : oaz (v2)
Nbr de messages : 352
Carottes : 4779

Opennab : support de proxy authentifiant Empty
MessageSujet: Re: Opennab : support de proxy authentifiant   Opennab : support de proxy authentifiant I_icon_minitimeSam 13 Oct 2007 - 15:21

Je reprends ici la discussion commencée sur sourceforge.
Je pense que cela sera plus efficace pour garder tout le monde dans la boucle.

Thus0 a écrit:

Bonjour,

merci pour ton OpenNab ! Je l'utilise sur l'intranet de mon entreprise qui utilise un proxy authentifiant pour sortir sur internet. Avec le nabaztag seul, cela ne marchait pas car il ne supporte par l'authentification des proxys.. Mais grâce à OpenNab, je peux enfin connecter mon Nabaztag : il faut modifier quelques options de curl

- Fichier includes/request.php

Code:

function Forward()
{
$url = 'http://'.$this->host.$this->uri;
$curlHandle = curl_init($url);
if (!$curlHandle)
return false;
 
// Modif de Thus0
curl_setopt($curlHandle, CURLOPT_PROXY, "192.168.0.226:3128");
curl_setopt($curlHandle, CURLOPT_PROXYUSERPWD, "monlogin:monpassword");
// Fin modif de Thus0
 
curl_setopt($curlHandle, CURLOPT_HTTPHEADER, $this->sentHeaders);
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_BINARYTRANSFER, 1);
curl_setopt($curlHandle, CURLOPT_CONNECTTIMEOUT, 2);
// curl_setopt($curlHandle, CURLOPT_TIMEOUT, 4);
curl_setopt($curlHandle, CURLOPT_TIMEOUT, 30);
@curl_setopt($curlHandle, CURLOPT_FOLLOWLOCATION, 1);


Pourrais-tu intégrer ces modifs dans la prochaine version de OpenNab ?

Je te propose les paramètres suivants dans le config/opennab.ini :

Code:
 
;; Proxy config
ProxyUser=Thus0
ProxyPassword=toto123
ProxyServer=192.168.0.226
ProxyPort=3128
Jusqu'ici rien à dire.

Thus0 a écrit:

Ensuite dans la fonction forward de request.php , il faudrait activer les lignes du proxu uniquement si on est en mode 'classic' ou 'violet', du type :

Code:
 
if ($ServerMode=='classic' or $ServerMode='violet') {
curl_setopt($curlHandle, CURLOPT_PROXY, "$ProxyServer:$ProxyPort");
curl_setopt($curlHandle, CURLOPT_PROXYUSERPWD, "$ProxyUser:$ProxyPassword");
// peut-être aussi augmenter le timeout si on passe par le proxy ?
curl_setopt($curlHandle, CURLOPT_TIMEOUT, 30);
}


Qu'en penses-tu ?

a+

Thus0
http://www.pervasive-network.org/



Bon, j'ai posté trop vite... en fait, il faudrait tester si le support du proxy est activé et si de plus c'est un proxy authentifiant : donc en gros, l'idée :


Code:
 
if (isset($ProxyServer)) {
if ($ServerMode=='classic' or $ServerMode='violet') { 
curl_setopt($curlHandle, CURLOPT_PROXY, "$ProxyServer:$ProxyPort");
if (isset($ProxyUser)) {
curl_setopt($curlHandle, CURLOPT_PROXYUSERPWD, "$ProxyUser:$ProxyPassword"); 
}
// peut-être aussi augmenter le timeout si on passe par le proxy ? 
curl_setopt($curlHandle, CURLOPT_TIMEOUT, 30);
}


a+

Là j'ai un peu plus de mal à comprendre la finalité.

Tester si les paramètres de proxy sont présents avant de les utiliser : ok, normal.
Tester le ServerMode, je ne pense pas que ce soit utile. La méthode Forward de Request n'est appelée que s'il y a effectivement un appel http réalisé vers un autre serveur.
Si on est en standalone, elle n'est pas appelée pour les requêtes vers Violet (c'est la méthode Generate qui est appelée)

Par ailleurs, même en standalone, certaines fonctions peuvent faire des appels vers internet, pour le tts par exemple. Il leur faut donc le proxy correctement positionné.

Par ailleurs, il y a un point qui n'a pas été abordé. Les séquences de reconaissance vocale ne passent pas par Request mais par HandcraftedPostRequest qui n'utilise pas curl.
Il faut donc également mettre à jour cette classe si le proxy est positionné.

A mon humble avis, la solution la plus sage c'est de virer curl et de faire une classe Request utilisable partout en se basant sur un composant http php natif+sockets qui supporte les proxy.
Revenir en haut Aller en bas
http://barrejadis.azeau.com/
Neffrith
Nabz Junior
Nabz Junior


Localisation : France
Nbr de messages : 71
Carottes : 4543

Opennab : support de proxy authentifiant Empty
MessageSujet: Re: Opennab : support de proxy authentifiant   Opennab : support de proxy authentifiant I_icon_minitimeSam 13 Oct 2007 - 15:58

oaz a écrit:

A mon humble avis, la solution la plus sage c'est de virer curl et de faire une classe Request utilisable partout en se basant sur un composant http php natif+sockets qui supporte les proxy.

Je fais deux tests de classes:
- un qui vire completement curl avec support du proxy en natif php.
- un autre qui permet d'activé automatiquement curl si present, ou de force l'utilisation ou la non utilisation de curl... mais qui par contre n'a le support du proxy qu'en mode curl.

Neff
Revenir en haut Aller en bas
http://sonatine.tag.free.fr
Contenu sponsorisé




Opennab : support de proxy authentifiant Empty
MessageSujet: Re: Opennab : support de proxy authentifiant   Opennab : support de proxy authentifiant I_icon_minitime

Revenir en haut Aller en bas
 
Opennab : support de proxy authentifiant
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: L'univers de Nabaztag :: Archives :: API-
Sauter vers: