WebProxy, Geliştirdiğimiz yazılımlarda yapılan istekleri görüntüleyebilmek ve projeyi debug etme aşamasında oldukça fayda sağlayacak Proxy işleminin .Net Core içerisinde nasıl yapılabileceğini, makale içerisinde basit şekilde görüyor olacağız.
WebProxy Nedir, Nasıl Kullanılır – HttpClient – .Net Core
Hemen, WebProxy örneğimiz için çalışmalara başlayalım ve öncelikle bir console projesi oluşturalım.
Proxy olarak genellikle Fiddler ya da Charles Web Debugging Proxy uygulamalarını kullanıyorum. Fiddler ve Charles içerisinde yakaladığımız request’lere ait ekran görüntülerini de makale devamında ayrıca paylaşıyor olacağım.
Şimdi Program.cs dosyamızın içeriğini alttaki gibi kodlayalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | using System; using System.Net; using System.Net.Http; using System.Threading.Tasks; namespace NetCoreHttpClientProxy { class Program { static async Task Main(string[] args) { const string ProxyUrl = "http://localhost:8888"; const string ProxyUsername = ""; const string ProxyPassword = ""; const string RequestUrl = "https://enfetib4klozkbb.m.pipedream.net"; var proxy = new WebProxy { Address = new(ProxyUrl), Credentials = new NetworkCredential(ProxyUsername, ProxyPassword) }; var httpClientHandler = new HttpClientHandler { Proxy = proxy, UseProxy = true }; using var client = new HttpClient(httpClientHandler); var response = await client.GetAsync(RequestUrl); if (response.IsSuccessStatusCode) { var responseString = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseString); } } } } |
Üstteki kod bloğumuzu basit bir şekilde açıklamak gerekirse, ProxyUrl kısmında yer alan adresi Charles Proxy uygulamasına göre revize ettik. Altta Charles Proxy ayarlarına nasıl erişilebileceğini görüyorsunuz. RequestUrl olarak request’in içeriğini monitor etmek için https://pipedream.com online aracını kullandım ama siz kendi kullanmak istediğiniz RequestUrl ile revize etmeyi unutmayın.

Projeyi eğer komut satırından çalıştırmak isterseniz, komut satırından oluşturduğumuz projenin(NetCoreWebProxy) dizinine geçiş yapın. Ardından alttaki komutu kullanın.
Üstteki komutu çalıştırdıktan sonra Charles Proxy uygulamasına request’in düştüğünü görüyoruz.

Projenin son halini https://github.com/muratoner/netcore-webproxy adresinden çekebilirsiniz.
📚 Benzer Kaynaklar
- Asp.Net Core “… ‘Context’ only declares a parameterless constructor?” Hatası ve Çözümü
- ASP.NET Core’da Server.MapPath Alternatif Yöntemi
- ReactNative dotnetify ile .Net Core SignalR’a Bağlantı
✍ Lütfen olumlu-olumsuz tüm görüşlerinizi bana yorum yada mail yolu ile iletmeyi ihmal etmeyin.
🔗 Sosyal medya kanallarından makaleyi paylaşarak destek olursanız çok sevinirim.
👋 Bir sonraki makalede görüşmek dileğiyle.