mIRC Scripting

mIRC Scripting (https://www.mircscripting.net/)
-   Snippets - Parça kodlar (https://www.mircscripting.net/snippets-parca-kodlar/)
-   -   Socker v1.1 (https://www.mircscripting.net/snippets-parca-kodlar/601-socker-v1-1-a.html)

med1kal 18 Haziran 2012 23:56

Socker v1.1
 
Uzun zaman önce ilk versiyonunu buradan paylaştığım ve sonradan bir takım eklemeler yaptığım "socker", web sunucusuna header paketi göndermenin ve sonuçlarını görüntülemenin yanı sıra, belirtilen header paketine göre örnek bir socket scripti derlemeye yardımcı oluyor.

Kod:

alias socker {
  if ($1) {
    var %i = 1, %y = 1
    while ($cb(%y)) { if ($istok($cb(%y),Host:,32)) var %x = $gettok($cb(%y),2,32) | inc %y }
    echo -a alias $1 sockopen $1 %x 80
    echo -a on $+(*:sockopen:,$1,:,$chr(123))
    echo -a var $chr(37) $+ -> = sockwrite -n $!sockname
    while (%i <= $cb(0)) {
      if ($regex($cb(%i),Connection:)) { echo -a $(%->,0) Connection: Close | inc %i }
      if (!$regex($cb(%i),Encoding:)) echo -a $(%->,0) $cb(%i)
      inc %i
    }
    echo -a $chr(125)
    echo -a on *:sockread: $+ $1 $+ : $+ $chr(123)
    echo -a sockread -fn &tmp
    echo -a $(echo - $bvar(&tmp,1-).text,0)
    echo -a $chr(125)
    return
  }
  var %i = 1
  while (%i <= $cb(0)) {
    echo - $cb(%i)
    if ($regex($gettok($cb(%i),1,32),Host:)) {
      if ($sock(%s.name).name) sockclose %s.name
      %s.name = $gettok($cb(%i),2,32)
      sockopen %s.name %s.name 80
    }
    inc %i
  }
}
on *:sockopen:$(%s.name):{
  var %i = 1, %x = 0
  while (%i <= $cb(0)) {
    if (!$cb(%i)) sockwrite -n $sockname $crlf 
    if ($gettok($cb(%i),1,32) != Accept-Encoding:)  {
      echo 7 -a *** Uygulanan header: sockwrite -n $sockname $cb(%i)
      sockwrite -n $sockname $cb(%i)
    }
    inc %i
  }
  sockwrite -n $sockname $crlf
}

on *:sockread:$(%s.name):sockread -fn &tmp | echo - $bvar(&tmp,1-).text
on *:sockclose:$(%s.name):unset %s.name



Örnekle aşağıdaki header paketini kopyalıyorum, sonra /socker komutunu kullanarak paketi sunucuya gönderiyor ve gelen cevapları görüntülüyorum.

Örnek header paketi:
Kod:

GET / HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: tr-TR
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: www.mircscripting.net
Connection: Keep-Alive



Örnek script derleme güncellemesi ise, bu örnek header paketini kopyalayıp /socker MSNet komutunu giriyorum ve belirtilen headera göre derlenmiş script ediniyorum. Komut, aktif pencerede şu sonucu veriyor:

Kod:

alias MSNet sockopen MSNet www.mircscripting.net 80
on *:sockopen:MSNet:{
var %-> = sockwrite -n $sockname
%-> GET / HTTP/1.1
%-> Accept: text/html, application/xhtml+xml, */*
%-> Accept-Language: tr-TR
%-> User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
%-> Host: www.mircscripting.net
%-> Connection: Close
%->
}
on *:sockread:MSNet:{
sockread -fn &tmp
echo - $bvar(&tmp,1-).text
}


Not: Bu arada, $bvar kafa karıştırabilir belki. "Normal %değişken varken ne gerek vardı ona" diye düşündürebilir. Mesele şu ki ajax vs. gibi kaynağa sahip olan web sayfalarındaki verilerin uzunluğu, bazen normal %değişkenin limitinin üstünde olabiliyor ve bilgi eksik görüntüleniyor. Ayrıca bir uyarı da almıyorsunuz ve princin taşını ayıklar gibi saatlerce sorun arıyorsunuz. Neyse ki $bvar'ın barındırabildiği karakter uzunluğu bi hayli fazla. Bazen aktif pencereye yansıtamayacak kadar uzun bir string barındırsa da, en azından kendi içinde saklayabiliyor. "Görüntülenemeyebilirim ama içimde saklıyorum, ayıkla kullan" diyor alet bi bakıma.

L4roXyL 19 Haziran 2012 00:17

Ölmemiş olmana sevindim hakan. .)

med1kal 19 Haziran 2012 00:46

:p ben de şaşırdım dostum. yaşadığıma emin diilim aslında :D


++ mIRCScripting.net hakkında kısaca:

mS; "Gayri resmi mIRC" kullanıcı ve tasarımcı topluluğudur.
2009 yılında kurulan mS; tasarımcı ve geliştiricileri bir araya getiren etkileşim ve iletişim sağlayan bir platformdur.
mS; tasarım, programlama, geliştirme, düzenleme vb. pek çok konu etrafında bir araya gelmiş "mIRC" meraklısı bir çok insan tarafından yaratılan içeriğiyle; kullanıcı dostu, özgün elit, nitelikli kişi ve konularla hizmet sunan mIRC Scripting platformudur.

Özgün içerikten onay almaksızın içeriği yaratan kullanıcılarımız tamamen yada kısmen sorumludur, aynı zamanda söz konusu içerik mS yetkilileri izni olmaksızın, kaynak gösterilse dahi(!) kopyalanamaz ve/ya paylaşılamaz.   Site/içerik hakkında görüş, öneri ve şikayetleriniz için sikayet[at]mircscripting[dot]net e-posta ve ya İletişim adresinden bizlere ulaştırabilirsiniz.



mIRC mIRC Orjinal mIRC İndir mIRC Download mIRC Tutorials mIRC Socket mIRC Commands mIRC Komutlar mIRC Yükle mIRC Dersler mIRC Hazır Kodlar mIRC Classentifier mIRC DLL mIRC Dialog mIRC IRC mIRC FTP mIRC Telnet mIRC Help
mIRC Yardım mIRC Iconlar mIRC Com Object mIRC Binary Files mIRC Picture Windows mIRC Unicode mIRC Forum mIRC Hazır Kodlar mIRC Kod mIRC Script mIRC File Handling mIRC Scripting Language mIRC Scripting Dili mIRC Scripting Info
mIRC Scripting Tutorials



User Alert System provided by Advanced User Tagging v3.1.3 (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd. Runs best on HiVelocity Hosting.

1 2 13 14 16 17 18 19 21 22 23 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 49 50 51 52 54 55 56 57 58 59 60 61 62 63 67 68 69 70 71 72 73 74 75 76

SEO by vBSEO 3.6.1