Merhabalar , yaklaşık 1.5 yıldan fazladır konu açmıyordum fakat bir kaç hafta önce birtakım şeylerle uğraşırken bulduğum bir kütüphaneyi sizinle paylaşmak istedim...
xNet
Nedir ? :Proxy sunucularını kullanarak HttpRequest , HttpResponse işlemlerini basit ve kapsamlı şekilde yapmamızı sağlayan kütüphanedir.
HttpRequest: Bir sunucuya istek göndermenizi sağlayan parametredir.
Örnek:
HttpResponse : Sunucuya gönderdiğimiz isteğin cevabını almamızı sağlayan parametredir.
Örnek:
UserAgent : Chrome,Firefox,IE,Opera gibi hazır user agentler seçebileceğiniz parametredir.
Örnek:
Cookies : Çerezlerin kullanımı belirleyen parametredir. False değerinde çerez barındırmaz.
Örnek:
Proxy: Göndereceğiniz istekte bir proxy sunucusu kullanmanıza olanak sağlayan parametredir.
Kullanabileceğiniz proxy tiplerinin parametreleri :
Socks4ProxyClient
Socks5ProxyClient
HttpProxyClient
ChainProxyClient
Örnek:
IgnoreProtocolErrors : Oluşabilecek protokol hatalarını yok sayar.
Örnek:
KeepAlive: Çoklu işlemlerde isteği canlı tutarak bağlantı hızını arttırmanı sağlayan parametredir.
Örnek:
AddParam: İstek parametrelerini "AddParam" kullanarak ayarlayabilirsiniz .. Bu parametreler ilk istekten sonra silinir.
Örnek:
Post: Post işlemi yapmanızı sağlayan parametredir.. Dönen veriyi String,Bytes,File,MemoryStream şeklinde alabilirsiniz.
Örnek:
Get: Sunucdan veri almak için kullanılan parametredir.Veriyi String,Bytes,File,MemoryStream şeklinde alabilirsiniz.
Örnek:
Bu kadar "parametre" yeter
Şimdi basit bir örnek için yardım merkezine açtığı konuda bir siteye login yaptırmak isteyen arkadaşa sade bir uygulama yazalım.
Sitemiz "https://rowncraft.com/" imiş.
Login işlemi için ufak bir firefox eklentisi olan Tamper Data' dan post urlmizden gerekli parametreleri alalım.(İnternette çokça kaynak olduğundan Tamper Data'dan bahsetmeyeceğim. Zaten basit bir araç kullanımını kolaylıkla öğrenebilirsiniz..)
POST urlmiz:
https://rowncraft.com/
POST parametrelerimiz :
uye_kadi=örnekadi
uye_sifre=örneksifre
giris=giris
Gerekli olan her şey elimizde olduğuna göre şöyle bir uygulama yazalım.
Evet , sanırım bir game launcher yazdık 
Konumu okuduğunuz için teşekkür ederim , umarım yararlı olmuştur. Beğendiyseniz bir başka konuda proxyli multithreading checkerların yapımını da anlatabilirim.
Hepinize iyi günler dilerim. Sağlıcakla kalın
https://github.com/X-rus/xNet
xNet
Nedir ? :Proxy sunucularını kullanarak HttpRequest , HttpResponse işlemlerini basit ve kapsamlı şekilde yapmamızı sağlayan kütüphanedir.
Parametreler
HttpRequest: Bir sunucuya istek göndermenizi sağlayan parametredir.
Örnek:
Kod:
HttpRequest htreq = new HttpRequest();
HttpResponse : Sunucuya gönderdiğimiz isteğin cevabını almamızı sağlayan parametredir.
Örnek:
Kod:
HttpResponse htresp = htreq.Get("http://örneksite.com/");
UserAgent : Chrome,Firefox,IE,Opera gibi hazır user agentler seçebileceğiniz parametredir.
Örnek:
Kod:
htreq.UserAgent = Http.ChromeUserAgent();
Cookies : Çerezlerin kullanımı belirleyen parametredir. False değerinde çerez barındırmaz.
Örnek:
Kod:
htreq.Cookies = new CookieDictionary(false);
Proxy: Göndereceğiniz istekte bir proxy sunucusu kullanmanıza olanak sağlayan parametredir.
Kullanabileceğiniz proxy tiplerinin parametreleri :
Socks4ProxyClient
Socks5ProxyClient
HttpProxyClient
ChainProxyClient
Örnek:
Kod:
htreq.Proxy = Socks4ProxyClient.Parse("ip:port");
IgnoreProtocolErrors : Oluşabilecek protokol hatalarını yok sayar.
Örnek:
Kod:
htreq.IgnoreProtocolErrors = true;
KeepAlive: Çoklu işlemlerde isteği canlı tutarak bağlantı hızını arttırmanı sağlayan parametredir.
Örnek:
Kod:
htreq.KeepAlive = true;
AddParam: İstek parametrelerini "AddParam" kullanarak ayarlayabilirsiniz .. Bu parametreler ilk istekten sonra silinir.
Örnek:
Kod:
htreq.AddParam("kullaniciadi", "admin");
Post: Post işlemi yapmanızı sağlayan parametredir.. Dönen veriyi String,Bytes,File,MemoryStream şeklinde alabilirsiniz.
Örnek:
Kod:
string postdönen = htreq.Post("https://accounts.spotify.com/api/login").ToString();
Get: Sunucdan veri almak için kullanılan parametredir.Veriyi String,Bytes,File,MemoryStream şeklinde alabilirsiniz.
Örnek:
Kod:
byte[] gelen = htreq.Get("http://xxsite/örnek.exe").ToBytes();
Bu kadar "parametre" yeter
Sitemiz "https://rowncraft.com/" imiş.
Login işlemi için ufak bir firefox eklentisi olan Tamper Data' dan post urlmizden gerekli parametreleri alalım.(İnternette çokça kaynak olduğundan Tamper Data'dan bahsetmeyeceğim. Zaten basit bir araç kullanımını kolaylıkla öğrenebilirsiniz..)
POST urlmiz:
https://rowncraft.com/
POST parametrelerimiz :
uye_kadi=örnekadi
uye_sifre=örneksifre
giris=giris
Gerekli olan her şey elimizde olduğuna göre şöyle bir uygulama yazalım.
Kod:
//Request'i kapatmak için using anahtar kelimesini kullanıyorum.
using (var htreq = new HttpRequest())
{
htreq.UserAgent = Http.ChromeUserAgent();
htreq.Cookies = new CookieDictionary(false);
htreq.IgnoreProtocolErrors = true;
htreq.KeepAlive = false;
htreq.AddParam("uye_kadi", "deneme12345");
htreq.AddParam("uye_sifre", "1234567289");
htreq.AddParam("giris", "giris");
string postdönen = htreq.Post("https://rowncraft.com/").ToString(); //Post işlemi sonucunda dönen verileri "postdönen" değişkenine atıyorum.
if(postdönen.Contains("Giriş işlemi başarılı")) // Gelen docu me nt verisinde "Giriş işlemi başarılı" yazısı var ise...
{
//Yeni bir form2 açtırıyorum.
MessageBox.Show("Form2 ye yönlendiriliyorsunuz...");
Form2 frm2 = new Form2();
frm2.Show();
}
else
//"Giriş işlemi başarılı" yazısı yok ise. Mesaj verdirip bırakıyorum...
MessageBox.Show("Giriş işlemi başarısız!");
}
Konumu okuduğunuz için teşekkür ederim , umarım yararlı olmuştur. Beğendiyseniz bir başka konuda proxyli multithreading checkerların yapımını da anlatabilirim.
Hepinize iyi günler dilerim. Sağlıcakla kalın
https://github.com/X-rus/xNet
Son düzenleme:


