PHP, socket & telnet... se logger sur un serveur distant [SOLVED]

PHP, socket & telnet... se logger sur un serveur distant [SOLVED] - PHP - Programmation

Marsh Posté le 04-08-2003 à 19:48:42    

PHP, socket & telnet... se logger sur un serveur unix distant à partir d'une machine avec PHP qui tourne...
 

Code :
  1. <?
  2. $cfgServer = "serveur.XXX.fr";
  3. $cfgPort    = 23;         
  4. $cfgTimeOut = 10;
  5. $handle = fsockopen($cfgServer, $cfgPort, &$errno, &$errstr, $cfgTimeOut);
  6. if(!$handle)
  7. {
  8.    echo "Connexion failed\n";
  9.    exit();
  10. }
  11. else
  12. {
  13. echo "Connected\n";   
  14. //??? echo fgets($handle, 16);
  15. //??? fwrite ($handle, "mylogin\r\n" );
  16. //??? echo fgets($handle, 1);
  17. //??? fputs ($handle, "mypassword\r\n" );
  18. }
  19. ?>


J'arrive tout juste à obtenir des caracteres à la con avec le premier fgets, mais après rien...
 
Une idée?


Message édité par bboben le 05-08-2003 à 00:01:39
Reply

Marsh Posté le 04-08-2003 à 19:48:42   

Reply

Marsh Posté le 04-08-2003 à 19:59:43    

drapal.
tu peu m'expliquer ce que sont les "&$errno, &$errstr," :)

Reply

Marsh Posté le 04-08-2003 à 20:08:33    

"Si l'appel échoue, fsockopen() retourne FALSE, et si les options errno et errstr ont été fournies, elles contiennent désormais les raisons de l'échec"

Reply

Marsh Posté le 04-08-2003 à 21:19:06    

tient ca me fait la meme, mais sans dns pour le server :/
 
 

Code :
  1. <?
  2. $sock=fSockOpen ("195.4.18.12", "1716", $error, $error_msg, "4" );
  3. $jump="</br>";
  4. echo $sock.$jump;
  5. echo $error.$jump;
  6. echo $error_msg.$jump;
  7. if (!$sock)           Echo "Connection impossible";
  8. Else                  Echo "Connected...";
  9. ?>

 
 
output :  
 

10060
Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu.
Connection impossible

 
 [:wawash]

Reply

Marsh Posté le 04-08-2003 à 22:13:51    

j'ai refait la meme mais cette fois avec un site et la ca marche.
Par contre j'ai un gros timeout apres 30 secondes.
Pourtant je ne cherche pas a avoir grand chose :
 
 

//site
$sock_site = fsockopen ("www.if-faw.com", 80, $error_site, $error_msg_site, 5);
if ($sock_site)
         {
                Echo "Connected...";
                $donnees_site=fgets ($sock_site, 2);
                echo $donnees_site;
         }

 
 
ca devrait me retourner quelles genre d'info ca?
Je comprend pas tres bien.
 
ps : désolé si je m'incruste dans ton topic mais je cherche a apprendre en meme temps :D

Reply

Marsh Posté le 04-08-2003 à 22:51:20    

J'arrive parfaitement avec les trucs du style port 80 et que je te renvoit la requete http et blabla... AVec les serveur de news ya pas de soucis non plus...
 
mais je cause du telnet, port 23, avec LOGIN et PASS ... et ca ca vaut pas :cry:
 
 
(PS: tu as plein d'exemple sur php.net ; cherche "socket".... mais ya pas ce que je veux... Même l'exemple avec le routeur cisco bah ca marche pô avec un serveur unix tout con)


Message édité par bboben le 04-08-2003 à 22:53:02
Reply

Marsh Posté le 04-08-2003 à 23:25:42    

Reply

Marsh Posté le 04-08-2003 à 23:59:49    

Problème resolu sur php Builder: une classe a même été faite!
 
http://www.phpbuilder.com/mail/php [...] 1/1479.php
 
(virez le php_set_timeout si votre version le supporte pas, de plus, remplacer "read_till(":> " );" par read_till(" > " ); selon les prompts)
 
 
Edit: vu le code , c'est pas totalemen trivial comme problème!


Message édité par bboben le 05-08-2003 à 00:01:13
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed