Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Socket TCL
#1
Bonjour, je souhaiterai me connecter sur un page web en socket comme pour mIRC :

Code:
alias socket {
  sockclose socket
  sockopen socket www.domain.dot 80
}

On *:SOCKREAD:*:{
    var %read
    sockread %read
    echo -a %read (que je veux voir s'afficher en putlog sur l'eggdrop)
}

ON *:SOCKOPEN:*:{
  sockwrite -nt $sockname GET /url.dot HTTP/1.0
  sockwrite -nt $sockname Host: www.domain.dot
  sockwrite -nt $sockname User-agent: eggdrop TCL
  sockwrite -nt $sockname $crlf
}
Mais je n'ai trouvé aucun script qui me parle (quand je dis cela, c'est que je ne sais pas vraiment quoi et où chercher ça)
Quelqu'un aurait-il une piste ou un code pour m'aider à faire ce script ?
#2
L'implémentation des sockets en TCL passe par la commande "socket" (surprise!)
Une fois connecté tu peux l'utiliser comme un flux standard (ex, des fichiers) avec puts/gets/read/fileevent etc.

Par contre si ce que tu veux c'est afficher une page web, c'est pas la bonne solution.
Les sockets en elles même ne gèrent que la communication jusqu'au niveau des sessions, et pas le protocole HTTP que tu fais passer par dessus en accedant aux sites webs.
Pour ça y'a un package standard dans TCL qui est (surprise, encore) http - et il fait tout ça. Cool ?
Tu peux check la doc du package avec man n http ou sur http://tmml.sourceforge.net/doc/tcl/http.html.

En gros, la procédure pour une requête est la suivante :
- Si besoin, tu configures ta connection avec ::http::config
- Tu demandes au package de lancer une requête avec ::http::geturl (pas oublier de mettre un -timeout, ca évite de planter l'eggdrop pendant 5 minutes !)
- Tu vérifies qu'elle s'est bien déroulée avec ::http::ncode ou ::http::status
- Tu récup le contenu de la page avec ::http::data
- Pas oublier de supprimer les variables non utilisées avec ::http::cleanup


Possibly Related Threads…
Thread Author Replies Views Last Post
  Erreur socket limit Amand 4 189 18/06/2022, 15:37
Last Post: Amand
  [Script] "::http::register https 443 ::tls::socket" Kossiwa 12 4,138 07/06/2020, 18:55
Last Post: DaDIsS
  [Bug] script bot socket athor69 0 3,061 31/01/2016, 17:51
Last Post: athor69
  Codage TCL - Socket incorporé KeeViiNou 15 9,981 21/03/2014, 11:46
Last Post: KeeViiNou
  Bug bizarre : Namespace, array et socket CrazyCat 3 4,394 23/02/2012, 18:12
Last Post: djkenny
  Socket Obu 4 5,057 27/02/2011, 03:37
Last Post: Obu
  Plusieurs connections simultanémment sur une socket. jolo2 1 4,071 23/04/2010, 23:54
Last Post: Marc

Forum Jump:


Users browsing this thread: 1 Guest(s)