Forumkolik.Net Sohbet Odaları Mobil Sohbet Odaları https://www.sosyalchat.com/




Yeni Konu Aç Cevap Yaz
Konu : Web sitelerinden Socket ile bağlanarak veri çekmek.  
Seçenekler Stil
Alt 29 Aralık 2022, 00:52   #1
Standart 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
}
Aliasımızda çek komutu ile siteye bağlanmak üzere hazırlık yaptık.
/ç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
kısmını

Kod:
sockopen -e forumcu www.forumkolik.net 443
olarak düzenleriz.

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
}
Bağlantı yapılırken sitenin bizden istediği verileri bu kısımda belirledik. GET bağlanacağımız kısım. Burası ne veri çekecek isek onu tanımlayacağımız kısım. Host kısmı bağlanacağımız sitenin adresi. Bu kısmı manuel yazmak yerine $sock ile tanımladık. Yani hangi adrese bağlanıyorsak otomatik olarak orası tanımlanacak. Sitenin sizden istediği veriler farklılık gösterir ise verdiğim bu kodun sonunda size bağlanmanız için gerekli bilgiler yazacaktır. O kısımları sitenin verdiği cevaba göre düzenleyebilirsiniz.Genelde hep aynıdır farklılık göstermez.
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
Bu kısımda veriyi çekmek ve işlemek için işlemler yaptık.
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 }
}
echo kısmını Stream Genre(s) kısmını çekecek şekilde ayarladık.
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.



Konu Bozkurt tarafından (29 Aralık 2022 Saat 00:57 ) değiştirilmiştir..
Bozkurt isimli Üye şimdilik offline konumundadır  
Alıntı ile Cevapla
Alt 29 Aralık 2022, 00:57   #2
Standart Cevap: Web sitelerinden Socket ile bağlanarak veri çekmek.

Ziyaretçilere içerik gizlenmiştir.

İçerikleri görebilmek için üye olmalı ve üye girişi yapmalısınız.
Giriş Yap Kayıt Ol




UçuRumu SevenLeRin KanatLaRı oLmaLı...

Tujh Mein Rab Dikhta Hai













KıRıK isimli Üye şuanda  online konumundadır  
Alıntı ile Cevapla
Alt 29 Aralık 2022, 00:59   #3
Standart Cevap: Web sitelerinden Socket ile bağlanarak veri çekmek.

Ziyaretçilere içerik gizlenmiştir.

İçerikleri görebilmek için üye olmalı ve üye girişi yapmalısınız.
Giriş Yap Kayıt Ol

Bozkurt isimli Üye şimdilik offline konumundadır  
Alıntı ile Cevapla
Alt 29 Aralık 2022, 01:01   #4
Standart Cevap: Web sitelerinden Socket ile bağlanarak veri çekmek.

Ziyaretçilere içerik gizlenmiştir.

İçerikleri görebilmek için üye olmalı ve üye girişi yapmalısınız.
Giriş Yap Kayıt Ol




UçuRumu SevenLeRin KanatLaRı oLmaLı...

Tujh Mein Rab Dikhta Hai













KıRıK isimli Üye şuanda  online konumundadır  
Alıntı ile Cevapla
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

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

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



Bilgilendirme

Sitemiz bir genel forum sitesidir. Bu yüzden sitemize kaydolan herkes, kontrol edilmeksizin mesaj/konu/resim paylaşabilmektedir. Bu sebepten ötürü, sitemiz üzerinden paylaşılan mesajlar, konular ve resimlerden doğabilecek olan yasal sorumluluklar paylaşan kullanıcıya aittir. Forumkolik, hiçbir yasal sorumluluk kabul etmemektedir. Illegal herhangi bir faaliyet görülmesi durumunda İLETİŞİM sayfasından bildirim yapıldığı takdirde, mesaj, konu ya da resim en fazla 24 saat içerisinde silinecektir.

Forum Bilgileri

Forum Sahibi: KIRIK

Forum Manager: SaRe

Graphic Designer: Müptela

İ[email protected]

Powered by vBulletin® Version 3.8.12 -
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 18:35.

FORUMKOLIK.NET ® © JRodix.Com Sunucularında Barınmaktadır.

Çekici Yalın Üretim kök hücreli saç ekimi Evden eve nakliyat Evden eve nakliyat uluslararası evden eve nakliyat evden eve nakliyat