IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
11Beğeni(ler)

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 06 Mayıs 2005, 22:59   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Web Sitelerine "Socket" İle Bağlanmak




Web sitelerine socket ile bağlanmak ve bilgi almak

Burda socketla nasıl web sitelerine bağlanıldığını ve bilgi alınacağını anlatmaya çalışacağım. Socketlarla ilgili hiç bir bilginiz yoksa bile bu döküman sayesinde biraz da olsa bilginiz olacak.

Giriş: Daha önce socketları addonlarda ya da scriptlerde muhtemelen görmüşsünüzdür, belki onları kullanmaya çalışmış fakat başarılı olamamışsınızdır. Durum her neyse socketlar mIRC'de gerçekten önemli bir yer tutuyorlar. Socketlar bir çok şey için kullanılsada burda web sitelerine bağlanmak ve gerekli bilgiyi almak üzere anlatacağım. İşte başlıyoruz..

Socketı açmak: Web sitesine bağlanma sürecini başlatmak için öncelikle bir socket açmak zorundayız. Bu /sockopen komutuyla yapılıyor.

/sockopen <socket-ismi> <adres> <port>
<socket-ismi> socketınıza vereceğiniz ismi belirtir. Aklınızda kalan ve alacağınız bilgiyle alakalı olan bir isim vermekte fayda var.
<adres> Adres socketınızın bağlanacağı adrestir. Buraya sadece domaini yazmalısınız. Örneğin [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] bağlanacaksanız sadece domainim.com yazsanız yeterli olacaktır.
<port> Bağlanacağınız adresin portu. Web sitesinden bilgi alıyorsanız bu port genelde 80'dir.

on SOCKOPEN durumu: Socketi /sockopen la belirli adres ve portla açtıktan sonra gereken olayları on sockopen durumunda yapıyoruz. Socketa sitedeki hangi sayfaya gideceğini söylemeliyiz. Bunu başka bir socket komutu olan /sockwrite la yaparız. Bu durumda /sockwrite GET i ve HTTP/1.1 ya da HTTP/1.0'ı kullanırız istediğimiz sayfaya gitmek için. HTTPler için endişelenmeyin. HTTP/1.1'i kullanın :-) İşte örnek bir socket açıldığında on sockopen durumunda yapılması gerekenler:

Örneğin domainim.com'a bağlandık /sockopen komutuyla ve orda [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] dosyasından bir şeylere bakacağız bunun için aşağıdakini remote'a koyuyoruz.

on *:sockopen:<socket-ismi>:{
sockwrite -n $sockname GET /isimler.txt HTTP/1.1
;Bu sockete belirtilen sayfada GET'i kullanmasını ve isimler.txt dosyasına gitmesini söylüyor
sockwrite -n $sockname Host: domainim.com $+ $crlf $+ $crlf
;Burda hostu tekrar belirtiyoruz.
}

Eğer ana sayfadan yani domainim.com dan bilgi alacaksanız /isimler.txt yerine sadece / [slash] koyuyoruz. (sockwrite -n $sockname GET / HTTP/1.1)

/sockwrite -n <socket-ismi> <text>

<socket-ismi>'ni yukarda anlattığım gibi belirlemiştik onu yazıyoruz ya da sadece $sockname kullanıyoruz. text ise web sitesine göndermiş olduğumuz yazı.

on SOCKOPEN durumuyla gereken bilgileri [hangi sayfayı görmek istediğimizi] web sitesine gönderdik şimdi o bilgileri okumada sıra.

Bilgileri okuma: Şimdiye kadar socketımız istediğimiz siteye bağlandı [[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]. Şimdi sıra on SOCKREAD durumunu kullanarak isimler.txt'ten bilgiyi almada. Bu durum web sitesinden her satır geldiğinde kullanılır. Örneğin isimler.txt'te 50 satır varsa on SOCKREAD durumu 50 kez çalışacaktır. HTML sitesine bağlandıysanız html kodlarıyla beraber tüm içerik gelecektir.
Örnek bir sockread durumu aşağıdaki gibidir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
on *:sockread:<socket-ismi>:{ if ($sockerr) { echo -a Hata! halt } else { var %temptext sockread %temptext echo -a %temptext } }

$sockerr identifierı socketta bir hata olduğunda çıkacaktır, bu hata varsa socket otomatik olarak kapatılacağından yapacağımız işlemleri bitirmek için halt kullandık, eğer hata yoksa devam ettik ve çıkan bilgileri aktif pencereye echoladık.
Bundan sonra if durumlarını kullanarak aktif pencereye çıkan sonuçlardan istediğinizi kullanabilirsiniz.

-
Aşağıdaki kod html kodlarını temizler, kullanımı $htmlfree(%temptext)


alias htmlfree {


var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;)
return %x
}





Umarım socketları biraz da olsa anlamışsınızdır..
Bol şans.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Alt 06 Mayıs 2005, 23:22   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Bir örnek




Ve sizin için bir örnek yazdım, örneğimde ircforumlari.net'e bağlanıp en aşağıda yazan "[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 27 (10 Kayıtlı Kullanıcı Ve 17 Misafir)" in altında yazan kayıtlı ve online olan kullanıcıları gösteriyor.

Öncelikle /sockopen komutuyla socketimi açıyorum.

Alıntı:
/sockopen ircforumlari [Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 80

Remote'umda olması gereken kodlar şunlar:

on *:sockopen:ircforumlari:{
sockwrite -n $sockname GET /index.php? HTTP/1.1

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
ocket siteye bağlanınca /index.php?'ye gitmesini söylüyorum
sockwrite -n $sockname Host: ircforumlari.net $+ $crlf $+ $crlf
;Ve tekrar hostu belirtiyorum.
}

on *:sockread:ircforumlari:{

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
ite sockopen'da belirttiğim adrese girdiğinde
if ($sockerr) {
;Eğer socketta hata varsa
echo 4 -st Hata. | halt

Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
tatus'e Hata yazısını echoluyorum ve işlemleri durduruyorum
}
else {
;Her şey normalse devam ediyorum
var %temptext
;%temptext diye bir değişken (variable) oluşturuyorum.
sockread %temptext
;socketimin sitede yazanları %temptext'e yazmasını sağlıyorum
if (*<div><a href="member.php?* iswm %temptext) { echo 4 -st 03Şu an ircforumlari.net'te12 $numtok($remove($htmlfree(%temptext),$chr(9)),44) 03kayıtlı kullanıcı online, nickleri:04 $remove($htmlfree(%temptext),$chr(9)) }
;Bunu aşağıda anlatacağım.
}
}

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
alias htmlfree { var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x,&nbsp;) return %x }

$htmlfree() aliasımızıda remote'a koyuyoruz, html taglarını çıkan sonuçtan kaldırması için..

if'li kısımı sockread %temptext'ten sonra %temptext'i echolayarak karşıma çıkan bilgileri kıyaslayarak kullanıyorum.
Benim istediğim bölüm şuydu:

Alıntı:
<div><a href="member.php?amp;u=2032">aLı</a>, <a href="member.php?amp;u=1005">el33t</a>, <a href="member.php?amp;u=697">LeaD_SoLDieR</a>, <a href="member.php?amp;u=2086">NiGhT</a>, <a href="member.php?amp;u=197">ReLaX</a>, <a href="member.php?amp;u=2325">SeLF_BLooD</a>, <a href="member.php?amp;u=2422">sohbetsaati</a>, <a href="member.php?amp;u=2232">SuccrasoR</a>, <a href="member.php?amp;u=1977"><font color="#009900">WingmaN</font></a></div>

Bunu almak için if'lerin nasıl ortak kullanıldığını buldum ve iswm kullanarak bana gereken yerleri aldım ve sonucu status penceresine echoladım.
Sonuç:

-23:15.43p- Şu an ircforumlari.net'te 9 kayıtlı kullanıcı online, nickleri: aLı, el33t, LeaD_SoLDieR, NiGhT, ReLaX, SeLF_BLooD, sohbetsaati, SuccrasoR, WingmaN

Yani kısacası önce sockopen komutuyla istediğim siteye bağlantıyı açıyorum socket için. on sockopen durumuyla gitmek istediğim sayfayı belirtiyorum. on sockread durumunda önce echoluyorum yani:

var %temptext
sockread %temptext
echo -s %temptext

Ve statusde çıkan şeylerden almak istediğim yeri buluyorum ve nasıl alabilirim diye düşünüyorum daha sonra if koşullarını kullanarak (iswm isin le birlikte) istediğim yeri ordan alıp echoluyorum.

Umarım daha iyi anlamışsınızdır.


Konu el33t tarafından (06 Mayıs 2005 Saat 23:27 ) değiştirilmiştir.
 
Alıntı ile Cevapla

Alt 06 Mayıs 2005, 23:59   #3
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



Ellerine sağlık
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 07 Mayıs 2005, 08:51   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



Cok acıklayıcı olmus eline sağlık.

 
Alıntı ile Cevapla

Alt 07 Mayıs 2005, 15:06   #5
Çevrimdışı
d10
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



tam istediğim de buydu
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 07 Mayıs 2005, 15:15   #6
goXXip
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Yüzdesi:(%)



Çok güzel bir döküman el33t.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Alt 08 Mayıs 2005, 12:49   #7
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



el33t geçen socket'lerime küfrediordum ya.
Yukarıdakiler çalışmıyordu Ondan ediyordum .p
Güzel bişi olmuş...Eline sağlık.

 
Alıntı ile Cevapla

Alt 10 Mayıs 2005, 03:07   #8
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



Bunu kullanmayı isteyenlerde birazda webmaster bilgilerine sahip olması gerekiyor sanırım :S

Birde web üzerine yazdırmayı açıklayabilirmisin ?

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] buraya veriyi nasıl gönderebiliriz ? yani verdiğim dizindeki dosyada değişiklikler yapmak o dosyaya veriler girmek ?

Ayrıca yukarıdaki bilgiler için teşekkürler.

 
Alıntı ile Cevapla

Alt 11 Mayıs 2005, 17:19   #9
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



mesala ttnet'te uye olanlar direk webdeki forumada uye oluyo bunu yapmasini bilen varmidir aranizda tabii eminimki mysql bilginde olmasi lazim userlari editlettirmek icin..ama cok orginal olmus sasirdim gecen gun ircte uye oldum forumada ircte uye oldugum isim ve sifreyle girdim

 
Alıntı ile Cevapla

Alt 09 Temmuz 2005, 12:50   #10
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)



guzel olmus , paylaşımın için saol el33t
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.

 
Alıntı ile Cevapla

Cevapla

Etiketler
İle, 304le, bağlanmak, ba287lanmak, mirc, mirc download, mirc indir, quotsocketquot, sitelerine, socket, web


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

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 Kapalı
Pingbacks are Açık
Refbacks are Açık