Merhabalar bugün sizlere HTTP Debugger aracını kullanarak herhangi bir web sitesi üzerinde API benzeri çalışmalar yapmayı göstereceğim. Siz başka sitelerde dönen cevaplarla bu yapıyı bir API olayına çevirmeniz mümkün. Üzerinde çalışma yapacağımız site
craftrise.com.trbu siteye C# üzerinde giriş yapmayı deneyeceğiz. Tabi burada bazı önemli uyarılarım olacak robotik doğrulama gerektiren yerlerde işe yaramayabilir yaparken bunları göz önünde bulundurmayı unutmayın.İlk önce HTTP Debugger programımızı açalım & sitemize giderek giriş yap kısmından rastgele kullanıcı, şifre girelim.
[ GÖRSEL GÖSTERİM ]
Görüldüğü üzere ilk başa geldi tabi bunları yaparken sağlıklı bir sonuç için üstteki Clear yani temizle butonuna sürekli basalım ki karmaşık bir veri ile uğraşmak zorunda kalmayalım. Artık verimiz geldiğine göre koda dökebiliriz. Kodumuz bir istek gönderecek & gönderirken asenkron yapısını kullanacak bu sayede işlemler sırasında herhangi bir hata almayacağız.
Kütüphanelerimizi Ekliyorum;
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Net.Http;Ekledikten sonra bir adet client tanımlıyorum
C#:
public static readonly HttpClient client = new HttpClient();
Daha sonra basla adında asenkron bir yapı oluşturuyorum ve içerisine birazdan verilerimi gireceğim.
C#:
public static async Task basla(string ad, string soyad)
{
}
Gelelim en önemli yere yukarıda tanımladığımız asenkron verinin içerisini doldurmaya, biz giriş yaparken direkt istek atarsak hata verir veya bot zannedip engeller bunun için Header yani başlık eklememiz gerekiyor. Başlıklar ise aşağıda yer alan görselde belirttiğim kodun içerisine yazılmalı.
[ GÖRSEL GÖSTERİM ]
Ekleyeceğimiz Kod Örneği
C#:
client.DefaultRequestHeaders.Add("Accept-Language", "tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7");
client.DefaultRequestHeaders.Add("Accept", "*/*");
client.DefaultRequestHeaders.Add("Host", "www.craftrise.com.tr");
client.DefaultRequestHeaders.Add("Origin", "https://www.craftrise.com.tr");
client.DefaultRequestHeaders.Add("Referer", "https://www.craftrise.com.tr/");
Bu şekilde uygulama üzerinde ne kadar kolon varsa birebir aynısını ekleyin. Content-Length, Accept-Encoding kısımlarını eklemeyin yoksa çıktınız hata verir. Encoding adı üstünde encode yani çıktınız şifreli olur okuyamazsınız. Lenght 'de sizi belirli bir veri ile sınırlar giriş yapmada sıkıntı yaşarsınız. Başlıkları yani Header kısmını ekledikten sonra aşağıdaki kodu yazalım;
C#:
StringContent content = new StringContent("value=" + ad + "&password=" + soyad + "&grecaptcharesponse=", Encoding.UTF8, "application/x-www-form-urlencoded");
var giris = await client.PostAsync("https://www.craftrise.com/posts/post-login.php", content).Result.Content.ReadAsStringAsync();
Console.Write(giris);
Bu veriyi nereden aldım derseniz Debugger uygulamamızda aşağıda yer alan Header sekmesinin yanında Content sekmesi var oraya tıkladım rastgele yazmış olduğum kullanıcı adı şifre yerine belirlemiş olduğum değişkene atadım. Kodumun sonuna Read kodunu ekleyip giris adlı değişkene bağladım ki hangi çıktıyı verdiğini konsol üzerinde okuyabileyim.
[ GÖRSEL GÖSTERİM ]
Diğer bir husus await client.PostAsync diye bir kodumuz var neden PostAsync? Dikkat ederseniz Debugger uygulamamız üzerinde login sayfasının Method kısmında POST yazıyor bu yüzden. Farklı sitelerde POST yerine GET yazabilir başka metodlar yazabilir hangi metodu yazıyorsa koda onu ekleyin... Son olarak konsol uygulamam üzerinde Main kısmına gelerek aşağıdaki kodu giriyorum & uygulamamı başlatıyorum.
C#:
var git = basla("Mavinehir", "123456789");
Console.Read();
[ SONUÇ ]
HTTP Debugger adlı uygulamamızla sadece API ve benzeri fonksiyonları yakalamaktan başka bilgisayarınızda herhangi bir zararlı uygulama var mı yok mu onu da tespit edebilirsiniz.
Rar Şifresi : 12345
Son düzenleme:


