mIRC Scripting  


Geri dön   mIRC Scripting > mIRC Scripting > Snippets - Parça kodlar

Snippets - Parça kodlar mIRC Scripting hakkında "parça /ufak kod" niteliği taşıyan kodlarını bulup veya paylaşabileceğiniz bölüm.

Cevapla
 
LinkBack Seçenekler
  #1  
Alt 18 Haziran 2012, 23:56
Avatar Yok
 Coders 

mS Puan: 31
mS Derece: med1kal
 
Üyelik tarihi: 10 Ağustos 2009
Mesajlar: 33
Konular: 5
Eklentiler: 2
Alınan Teşekkür: 1
Yapılan Teşekkür: 0
Smile 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.

Konu med1kal tarafından (19 Haziran 2012 Saat 00:04 ) değiştirilmiştir.
Alıntı ile Cevapla
Sponsored Links
  #2  
Alt 19 Haziran 2012, 00:17
Avatar Yok
 DirtyCoder 

mS Puan: 1031
mS Derece: L4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisiL4roXyL Kod delisi
 
Üyelik tarihi: 10 Temmuz 2009
Yaş: 32
Mesajlar: 339
Konular: 100
Eklentiler: 3
Alınan Teşekkür: 40
Yapılan Teşekkür: 0
Standart

Ölmemiş olmana sevindim hakan. .)
__________________
C/co/cod/code^man.
Alıntı ile Cevapla
  #3  
Alt 19 Haziran 2012, 00:46
Avatar Yok
 Coders 

mS Puan: 31
mS Derece: med1kal
 
Üyelik tarihi: 10 Ağustos 2009
Mesajlar: 33
Konular: 5
Eklentiler: 2
Alınan Teşekkür: 1
Yapılan Teşekkür: 0
Standart

ben de şaşırdım dostum. yaşadığıma emin diilim aslında
Alıntı ile Cevapla
Cevapla

Etiketler
socker, v11

Seçenekler

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Socker! med1kal Snippets - Parça kodlar 1 26 Ağustos 2009 00:58


Yasal Uyarı

    5651 sayılı yasada belirtilen "Yer Sağlayıcı" olarak hizmet sunmaktadır. İlgili yasaya göre site yönetiminin tüm içerikleri kontrol etme yükümlülüğü yoktur. Bu sebep ile sitemiz, uyarıları dikkate alarak yasa dışı paylaşımlar hakkında gerekli işlemleri yapmaktadır. Oluşabilecek yasal sorumluluklar üyelerimize aittir. Gerekli şikayet bildirimleri yapabilmek için "burayı" tıklayarak gerekli alanları doldurup yapabilirsiniz.
mIRCScripting©
Powered by vBulletin®
Copyright © 2000-2015, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1

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