IRC-Soporte

Ayuda para IRC (Internet Relay Chat)

Bienvenidos al foro de soporte en IRC. Para mas preguntas o dudas dejen sus dudas en los foros respectivos.

No estás conectado. Conéctate o registrate

IRC-Soporte » IRC-Soporte » mIRCScripting » avansado » Sockets

Sockets

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1 Sockets el Vie Nov 12, 2010 7:11 pm

Beto

avatar
Administrador
Administrador
Ahora Aprendamos acerca de SOCKETS

mIRC es capaz de obtener información a través de Sitios Web usando SOCKETS

Identificadores SOCKETS

$sock(nombre).Propiedad

Donde “Propiedad” podría ser…

.name = Regresara el Nombre del Socket
.port = Regresara el puerto donde el Socket se conecta
.wsmsg = Regresara el ultimo mensaje de error de un Socket

Abramos un Socket

/sockopen nombre de socket Host Puerto

on *:sockopen:name: { Comandos }

Abrira un Socket, Puedes enviar informacion a un sitio usando /sockwrite

on *:sockclose:name: { Comandos }
Cuando la coneccion de un Socket es Cerrada

Puedes usar /sockclose NomdeDeSocket para cerrar un Socket

on *:sockread:name: { Comandos }

Puede abrir informacion de un sitio

Ahora aprendamos como abrir un Socket con algún sitio

Copia y pega dentro de una nueva ventana de Remotos ALT + R

Código:

alias mss {
  sockopen google google.com 80
  ;; google es el nombre del socket
  ;; google.com es el Host
  ;; 80 es el puerto
}
on *:sockopen:google: {
  echo -a Conecion Abierta
 ;; si la coneccion con google es abierta regresara "Coneccion Abierta"
}

Ahora escribe /mss en un canal

Comando /mss Abrira un socket con el Sitio Web Google

Observa…

sockopen NombreDeSocket SitioWeb Puerto
todos los HTTP son puertos 80

Ahora vamos a obtener alguna información de un Sitio

Usemos http://chatespanol.webs.com/apps/blog/


Queremos obtener esta información “descargar torrents utilizando FrostWire?''

Copia y pega el siguiente texto en una nueva venanta de Remotos

Código:

alias chatweb {
  if ($sock(chatweb)) sockclose chatweb
  ;; Analizara si alli hay una coneccion llamada chatweb, y si es si, Cerrara
  sockopen chatweb chatespanol.webs.com 80 
  /* Ahora este commando abrira una coneccion llamada, chatweb, del sitio web  chatespanol.webs.com en el puerto 80 */
}
on *:Sockopen:chatweb: {
  sockwrite -nt $sockname GET / $+ apps/blog/ HTTP/1.1
  /* sockwrite -nt es un comando basico para obtener una informacion, necesitas usar GET, después de la pagina
/apps/blog/ and protocol HTTP/1.1 */
  sockwrite -nt $sockname Host: chatespanol.webs.com
  ;; Necesitas especificar el  HOST, Host es donde tu obtendras la informacion
  sockwrite -nt $sockname $crlf
  ;; Necesitas enviar $crlf al final de la informacion
}
on *:sockread:chatweb: {
  ;; este evento leera toda la informacion
  var %chatweb
  ;; primero creamos una variable llamada %chatweb, que tiene toda la información del sitio
  sockread %chatweb
  ;; ahora vamos a leer esta informacion usando sockread %chatweb
  if (*#8226;* iswm %chatweb) {
  ;; Analiza el codigo html
    echo -a %chatweb
  }
}

Primero analicemos el código Html, click derecho en la pagina http://chatespanol.webs.com/apps/blog/ y luego click en “Codigo Fuente”

ahora buscando por “La pantalla” en este código, podras ver "& # 8226;"

Observa
''<p>& # 8226; La pantalla principal de Frost clika en archivos</p><p>& # 8226; habr& # 225; dos alternativas para el torrent:</p><p>''open torrent''or''download torrent''</p><p>& # 8226; en la opcion ''open torrent'' primero tendr& # 225; que descargar primero el archivo torrent y luego abra en Frost</p><p>& # 8226; en la opcion ''Download torrent'' ponga el link directo al sitio y Frost descarga</p><p><br /></p>''

entonces, sockread analizara si ''&#8226'' esta en %chatweb

y luego regresara

si escribes /chatweb en un Canal
te devolverá esto…
''<p>& # 8226; La pantalla principal de Frost clika en archivos</p><p>& # 8226; habr& # 225; dos alternativas para el torrent:</p><p>''open torrent''or''download torrent''</p><p>& # 8226; en la opcion ''open torrent'' primero tendr& # 225; que descargar primero el archivo torrent y luego abra en Frost</p><p>& # 8226; en la opcion ''Download torrent'' ponga el link directo al sitio y Frost descarga</p><p><br /></p>''

en vez de “echo –a %chatweb”

Intenta eso

echo -a $replace($remove(%chatweb, </p>, <p>, <br />, •, &#225), ;, á)

Removera todos los codigos del HTML y reemplazara &#225 por á

ahora vamos a aprender como conseguir una información en especifico

ahora usaremos el sitio www.dronebl.org

Copia y pega el siguiente texto en una nueva ventana de Remotos

Código:

alias checkip {
  if ($sock(checkip)) sockclose checkip
  ;; analizara si hay una coneccion llamada checkip, si es si, cerrara
  sockopen checkip dronebl.org 80
  ;; ahora este comando abrira una coneccion llamada checkip, del sitio dronebl.org en el  puerto 80
  set -u10 %ipcheck $1
  ;; Setearemos una variable por 10 segundos
}
on *:Sockopen:checkip: {
  sockwrite -n $sockname GET / $+ lookup?ip= $+ %ipcheck HTTP/1.1
  /* aqui usaremos "GET" para conseguir una informacion de una pagina /lookup?ip= $+ %ipcheck,    where %ipcheck is the ip */
  sockwrite -n $sockname Host: dronebl.org
  sockwrite -n $sockname $crlf
}
on *:sockread:checkip: {
  sockread %checkip
  if (*found* iswm %checkip) {
  ;; analizara si ''found'' es encontrado en el codigo HTML 
    echo -a $remove(%checkip, <p>, </p>, <strong>, </strong>)
  ;; removera todos los codigos HTML y devolvera toda la informacion
  }
}

Analizaremos los códigos HTML

busca

busca por “found”
''<p>No incidents regarding <strong>***.***.***.***</strong> were found in DroneBL's incident tracking system. This means that your IP is not listed in DroneBL.</p>''

Ahora escribe /checkip Tu Ip


Gracias a Edguy por la traducción

http://chatlatino.us

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.