j'utilise ceci pour telecharger un fichier a partir d'un serveur http :
Code :
- function TForm1.retrieveConf(ip: String;pass: String):String;
- begin
- IdHTTP1.Request.Host := ip;
- IdHTTP1.
- IdHTTP1.Request.Password := pass;
- IdHTTP1.Request.Username := '';
- IdHTTP1.Request.BasicAuthentication := true;
- if IdHTTP1.Connected then IdHTTP1.Disconnect;
- try
- //result := IdHTTP1.Get('http://'+ip+'/level/15/exec/-/write/terminal');
- result := IdHTTP1.Get('http://193.20.50.55/');
- except
- end;
- end;
|
ca marche parfaitement pour n'importe quel site que je test (google, site local, etc etc etc)
maintenant je voudrais pouvoir faire la meme chose en me connectant sur un switch cisco (3548).
seulement quand j'execute le programme si j'entre un mauvais password: il freeze! et plante
quand je snif les trames qu'il envoi et recoi, il envoi bien la demande http :
Code :
- Hypertext Transfer Protocol
- GET / HTTP/1.1\r\n
- Host: 193.20.50.55\r\n
- Accept: text/html, */*\r\n
- Accept-Encoding: identity\r\n
- User-Agent: Mozilla/3.0 (compatible; Indy Library)\r\n
- Authorization: Basic OmVjaG8zc2cz\r\n
- Credentials: :monmauvaispassword
- \r\n
|
auquel le serveur (le switch) repond :
Code :
- Hypertext Transfer Protocol
- HTTP/1.0 401 Unauthorized\r\n
- Date: Mon, 21 Jun 1993 05:43:53 UTC\r\n
- Content-type: text/html\r\n
- Expires: Thu, 16 Feb 1989 00:00:00 GMT\r\n
- WWW-Authenticate: Basic realm="level 15 access"\r\n
- \r\n
- Line-based text data: text/html
- <HEAD><TITLE>Authorization Required</TITLE></HEAD><BODY><H1>Authorization Required</H1>Browser not authentication-capable or authentication failed.</BODY>
|
le serveur retourne une erreur 401 donc l'appli devrait lever une exception mais elle ne leve rien et freeze
quelqu'un a une idee ??
Message édité par azubal le 18-02-2005 à 16:00:46