AgoRa_ScripT
Messages postés136Date d'inscriptionjeudi 22 juillet 2004StatutMembreDernière intervention20 octobre 2007
-
23 janv. 2005 à 19:19
cs_PaDa
Messages postés1802Date d'inscriptionmardi 15 juillet 2003StatutMembreDernière intervention22 septembre 2009
-
24 janv. 2005 à 11:58
Bonjours :) J'essaye de faire une source avec les sockets, c'est pour mon bot. Quand je tape !google lol par exemple, je veux que mon bot inscrive les adresses correspondent a la recherche google.
Mais pour tester si sa marche, j'ai juste fais le debut de la source
qui consiste a juste avoir le code HTML de la page google en echo. Je
ferais le reste apres... Mais ça ne marche, je ne comprend pas du tout
ce qui cloche, j'ai une source identique pour les prenom qui utilize le
même procédé, et tout marche correctement...
ON *:TEXT:!google*:#:{
set %goochan $chan
set %google $2
set %top 1
sockopen google www.google.fr 80
}
on *:sockopen:google:{
sockwrite -n google GET /search?q= $+ %google $+
&hl=fr&lr=&ie=UTF-8&oe=UTF-8&start= $+ %top $+
&sa=N
inc %top
}
on *:sockread:google:{
sockread %sockgg
echo %sockgg
}
Voila, quand je tape /socklist, on me dit qu'aucun socket n'est connecté, et quand je tape manuellement sockwrite -n google GET /search?q= $+ %google $+ &hl=fr&lr=&ie=UTF-8&oe=UTF-8&start= $+ %ggh $+ &sa=N
on me dit que le socket google n'est pas connecté nonn plus. Je ne
comprend pas trop, j'espere que quelqu'un peut m'aider Merci d'avance
le truc qui faisait merder était le fait que tu fasses pas le sockwrite
avec deux retours de chariots, qui permet de terminer une requête je
crois (je sais pas le vocab exact)
cs_SornDrixer
Messages postés2084Date d'inscriptionjeudi 12 décembre 2002StatutMembreDernière intervention30 janvier 20118 24 janv. 2005 à 07:13
Bonjour,
Juste une petite info concernant l'utilisation du protocole HTTP :
Si vous utilisez le protocole HTTP 1.0, il n'est pas obligatoire de spécifier l'header host, ceci est juste valable pour l'HTTP 1.1 (qui n'est pas utilisé ici)
Donc on peut remplacer la ligne :
sockwrite -n $sockname Host: www.google.fr $+ $str($crlf,2)
par :
sockwrite -n $sockname $str($crlf,2)
Le code de PaDa est fonctionnel, mais il est intéréssant de savoir comment fonctionne se que l'on utilise :-)
Si vous travaillez avec les sockets, pensez à faire un tour du côté des RFC (en l'occurrence la 1945 pour l'HTTP)
Cordialement, Sorn_Drixer -
Mon site : Sorn-Creation