29 Aralık 2022, 00:52 | #1 |
| Web sitelerinden Socket ile bağlanarak veri çekmek. Mirc scripting için en önemli konular birisi. Web sitelerine bağlanmak ve çekmek. Ufak tefek kod yapanlar için bile önemli. Örnek bir kod yazalım. Forumun radyosundan veri çekelim. Önce bir alias oluşturalım. Kod: alias çek { sockclose forumcu sockopen forumcu radyoserver3.okeylisans.com 8908 } /çek yaptığımız da sockopen ile sunucuya bağlanmak üzere socketi tetikliyoruz. Fakat öncesinde sockclose ile açık socket varsa kapattık. Not: Burada 8909 radyo portu olduğu için bunu kullandık. Normalde 80 portu ssl olmayan siteler için geçerli bir porttur. Ssl portu 443 olur genelde fakat farklı bir port ise bu portu dinleyip bulmak gerekir. Port dinlemek ayrı bir konu başlığı.Ssl sitelerden veri çekerken mircinizde ssl aktif olmalı. Ve ya son sürüm mirc kullanıyorsanız zaten ssl desteği var. burada tek fark. ssl veri çekerken Kod: sockopen forumcu www.forumkolik.net 80 Kod: sockopen -e forumcu www.forumkolik.net 443 Kod: on *:sockopen:forumcu:{ if ($sockerr) { .sockclose $sockname | return } sockwrite -nt $sockname GET /index.html?sid=1 HTTP/1.1 sockwrite -nt $sockname Host: $sock($sockname).addr sockwrite -nt $sockname Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */* sockwrite -nt $sockname Accept-Language: tr-TR sockwrite -nt $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) sockwrite -nt $sockname Connection: Keep-Alive sockwrite -nt $sockname $crlf } Siteye bağlandık. Şimdi verileri görelim. Kod: on *:sockread:forumcu:{ if ($sockerr) { .sockclose $sockname | return } var %:forum | sockread -f %:forum | tokenize 32 %:forum echo 4 %:forum echo kısmı bize çektiğimiz veriyi gösterecek Resimde gördüğünüz gibi bağlantı başarılı.Siteden ham veriyi çektik. Şimdi bu veriyi işleyelim. Örneğin Stream Genre(s): Yani akış türü kısmını çekelim. Kod: on *:sockread:forumcu:{ if ($sockerr) { .sockclose $sockname | return } var %:forum | sockread -f %:forum | tokenize 32 %:forum if *Stream Genre(s)* iswm %:forum { echo 4 %:forum } } Sonucu Görelim Gördüğünüz gibi ham olarak veriye ulaştık. Şu an itibariyle çekilen ham veriyi işleyerek ve parçalayarak okunabilir hale getirebiliriz. Bunun içinde $gettok $remove vs vs tanımlayıcılar kullanabiliriz. Fakat bunlar başka konunun başlığı olduğu için burada anlatıp konuyu uzatmanın anlamı yok. Konumuz bu kadar. Socket ile bağlanarak verimizi çektik. Sizde kodların gerekli kısımlarını düzenleyerek sitelerden veri çekebilirsiniz. Konu vesilesi ile socket radyo botu yapmak isteyen arkadaşlar içinde yol göstermiş olduk. Radyo botları da radyo kanalına verileri bu şekilde çekerek yansıtıyor. Tek farkı adminpass girerek direkt panelden çekiliyor. Kod: alias çek { sockclose forumcu sockopen forumcu radyoserver3.okeylisans.com 8908 } on *:sockopen:forumcu:{ if ($sockerr) { .sockclose $sockname | return } sockwrite -nt $sockname GET /index.html?sid=1 HTTP/1.1 sockwrite -nt $sockname Host: $sock($sockname).addr sockwrite -nt $sockname Accept: image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, */* sockwrite -nt $sockname Accept-Language: tr-TR sockwrite -nt $sockname User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729) sockwrite -nt $sockname Connection: Keep-Alive sockwrite -nt $sockname $crlf } on *:sockread:forumcu:{ if ($sockerr) { .sockclose $sockname | return } var %:forum | sockread -f %:forum | tokenize 32 %:forum if *Stream Genre(s)* iswm %:forum { echo 3 $gettok(%:forum,1,58) } } Bu kısımda kodun tamamını görebilirsiniz. Ham veriyi işlemek için $gettok örneği ekledim. Daha farklı yollarla panelden veri çekilebilir. Benzer Konular: Konu Bozkurt tarafından (29 Aralık 2022 Saat 00:57 ) değiştirilmiştir.. |
|
Cevapla |
Yer İmleri |
Etiketler |
bağlanarak, Çekmek, ile, sitelerinden, socket, veri, web |
Şu anda bu konuyu görüntüleyen etkin kullanıcılar: 1 (0 üye ve 1 ziyaretçi) | |
(View-All) Bu konuyu daha önce 1 kişi okudu. Liste Aşağıdadır | |
Daemon |
Seçenekler | |
Stil | |
| |