C#

C# Web Sitesine İstek Gönderme

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde C# ile web sitesine post ve get istekleri göndermeyi anlatacağım. Hadi başlayalım !

Örneğin bi otomasyon geliştiriyorsunuz diyelim, veritabanı kayıtlarını kendi sunucunuzda tutacaksanız, uygulama üzerinden veritabanı işlemleri yapmak özellikle C#’ta cinayet demek olur. Çünkü bilindiği üzere C# kodlarını tamamen gizleyemiyoruz. Bu yüzden özellikle işin içinde veritabanı varsa web servis kullanmanız sizin faydanıza olacaktır. Veritabanı ile ilgili işlemleri web sitesinde yapacaksınız, C# tarafında da bu siteye post yada get istekleri gönderip gerekli işlemleri yapacaksınız. Hem projenizi güvene alacaksınız, hemde daha komplike bi sistem yapabileceksiniz. Bu kadar teorik bilgiden sonra artık kod yazmaya başlayalım. C# ile web servislere istek göndermenin farklı yolları fakat ben bu yazımda belki de en çok kullanılan Restsharp kütüphanesinden bahsedeceğim ve bu kütüphaneyi kullanacağım. Restsharp kütüphanesi, C# yada .Net Framework ile beraber gelmediği için proje oluşturduktan sonra Nuget paket yöneticisi yardımıyla indirip projemize dahil etmemiz gerekiyor. Hemen proje oluşturalım ve Nuget paket yöneticisi konsolunu açıp

install-package Restsharp

komutunu girelim ve Nuget’in paketi indirip projeye dahil ederek kullanılabilir hale getirmesini bekleyelim. Kütüphaneyi indirdik fakat kod yazacağımız sayfada henüz çağırmadık, çağırmadığımız için de her ne kadar projeye eklemiş olsakta bulunduğumuz sayfada Restsharp kütüphanesini kullanamayacağız. Kullanılabilir hale getirmek için sayfanın en başına gelip

using Restsharp;

kod satırını ekleyelim. Şimdi tüm ön hazırlıklar tamamlandı, artık asıl işimiz olan web sitesine istek atma işlemlerine geçebiliriz. Bildiğiniz üzere bi web sitesine istek atabilmek için öncelikle sitenin neresine yani hangi adrese istek atacağız ve hangi yöntemi kullanacağız, yani get isteği mi, post isteği mi, put isteği mi bunu belirleyeceğiz. Restsharp’ta da istek gönderilecek adresi RestClient, yöntemi belirtmek için de RestRequest sınıfları kullanılıyor. Öncelikle RestClient sınıfından başlayalım. Bu sınıfı kullanabilmek için yeni bir nesnesini türetmemiz gerekiyor ve isteğin gönderileceği adresi parametre olarak göndermemiz gerekiyor.

RestClient client = new RestClient("https://site.com/api/getir.php");

İstek gönderilecek adresi belirttik, şimdi de RestRequest sınıfını kullanarak metodumuzu belirtelim;

RestRequest request = new RestRequest(Method.POST);

Web sitesine istek gönderirken, bazı parametreler gönderebiliriz, sonuçta post yada get yada diğer tüm metodlar veri taşıyabiliyor ve bizim de dışarıdan parametre göndermemize imkan sağlıyorlar. İşin arka tarafında böyle imkanlarımız varken, Restsharp’ın da elbette böyle bir desteği olmazsa olmaz dimi 🙂 Elbette böyle bir desteği var ve bunu da türettiğimiz request sınıfına ait olan AddParameter() fonksiyonu ile sağlayabiliyoruz. Bu fonksiyon string tipte parametre adı ve object tipte parametre değeri olmak üzere 2 parametre alıyor. Örneğin bizde parametre1 ve parametre2 isimli parametrelere egitimsetial ve com değerlerini gönderelim.

request.AddParameter("parametre1", "softwaresup");
request.AddParameter("parametre2", "net");

Bu zamana kadar hazırlıklarımızı yaptık, istek paketini hazırladık ve artık isteğimizi gönderebiliriz. Bunu da türettiğimiz client nesnesi altında bulunan Execute() fonksiyonu ile yapıyoruz ve bu fonksiyon bir tane RestRequest parametresi istiyor. Bizde hazırladığımız istek paketimizi şöyle gönderelim;

client.Execute(request);

E web servise istek gönderdik, ya cevap ne olacak ? Yani örneğin uygulamamızda kayıtlı kullanıcıları çekmek için web servise istek gönderdik ama e sonuç nerde ? derseniz de, onu da gönderdiğimiz isteğin Content isimli propertisi ile halledeceğiz. Bi web servisin vereceği yanıt string tipte olacağı için bu property de string tipte veri tutuyor.

string cevap = client.Execute(request).Content;

Evet web servisimize istek paketi hazırladık, paketin içerisine gönderilecek parametreleri ekledik ve son olarak isteği web servise gönderip çalıştırarak dönen yanıtı aldık. Bundan sonrasından dönen yanıt ile ne yapmak isterseniz onu yapabilirsiniz 🙂

Evet bu yazımızda bu kadardı, buraya kadar yazdığımız tüm kodları daha toplu olması için aşağıya bırakıyorum;

RestClient client = new RestClient("https://site.com/api/getir.php");
RestRequest request = new RestRequest(Method.POST);
request.AddParameter("parametre1", "softwaresup");
request.AddParameter("parametre2", "net");
string cevap = client.Execute(request).Content;

Tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 3 Ortalama: 4.3]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Göz Atın
Kapalı
Başa dön tuşu