06 Mayıs 2005, 22:59 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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!
$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, ) return %x } Umarım socketları biraz da olsa anlamışsınızdır.. Bol şans. | |
|
06 Mayıs 2005, 23:22 | #2 | ||||||||
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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.
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!
$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:
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. | ||||||||
|
07 Mayıs 2005, 15:15 | #6 |
Guest
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
| Ç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. |
|
10 Mayıs 2005, 03:07 | #8 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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. |
|
11 Mayıs 2005, 17:19 | #9 |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | 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 |
|
Etiketler |
İle, 304le, bağlanmak, ba287lanmak, mirc, mirc download, mirc indir, quotsocketquot, sitelerine, socket, web |
Konuyu Toplam 2 Üye okuyor. (0 Kayıtlı üye ve 2 Misafir) | |
| |