> ## Content Index
> Fetch the complete content index at: https://mennankose.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# .Net Core'da HttpClient ile Proxy Kullanımı
- URL: https://mennankose.com/net-coreda-httpclient-ile-proxy-kullanimi/
- Published: 2019-07-15T14:58:53.000Z
- Updated: 2026-10-29T05:26:22.000Z
- Author: Mennan Köse
- Tags: .Net Core, ASP.NET Core, #Import 2026-11-06 07:43

.Net Core ile geliştirdiğimiz uygulamalarda [HttpClient](https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=netcore-2.2&ref=mennankose.com) sınıfını kullanarak uç noktalara istek atmamız gerekebilir. Örnek olarak kurumsal firmalarda çalışacak olan uygulamanız internet ortamındaki bir adrese istek göndermek isteyebilir. Ancak uygulamanızın çalışmış olduğu sunucunun internet erişimi kısıtlandığından dolayı ilgili adrese erişemeyebilirsiniz veya HttpClient sınıfı kullanarak göndermiş olduğunuz isteği ve gelen cevabı [Charles Web Debugging Proxy](https://www.charlesproxy.com/?ref=mennankose.com) gibi uygulamalar ile araya girerek takip etmek isteyebilirsiniz. Bu işlemleri yapabilmeniz için HttpClient ile birlikte proxy kullanmanız gerekmektedir.

HttpClient ile atılan isteklerde proxy tanımı yapabilmek için [HttpClientHandler](https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler?view=netcore-2.2&ref=mennankose.com) ve [WebProxy](https://docs.microsoft.com/en-us/dotnet/api/system.net.webproxy?view=netcore-2.2&ref=mennankose.com) sınıflarına ihtiyacımız vardır.

Örnek uygulama olarak .Net Core’da bir console projesi oluşturacağız. Aşağıda bash komutları ile projemizi oluşturalım.

```bash
dotnet new console -n NetCoreHttpClientProxy
cd NetCoreHttpClientProxy

```

Projemizi kullanmış olduğumuz metin editörü veya IDE ile açarak aşağıdaki şekilde kodlarımızı yazalım.

```csharp
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:5001";
            const string ProxyUsername = "";
            const string ProxyPassword = "";
            const string RequestUrl = "https://google.com";
 
            var proxy = new WebProxy
            {
                Address = new Uri(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);
                }
            }
        }
    }
}

```

Yapmış olduğumuz işlemleri açıklamak gerekirse [https://google.com](https://google.com/?ref=mennankose.com) adresine [http://localhost:5001](http://localhost:5001/?ref=mennankose.com) proxy adresini kullanarak istek göndermekteyiz.

Öncelikle **WebProxy** sınıfını kullanarak proxy adresini ve proxy’ye ait kullanıcı adı ve şifre tanımlamalarını yapıyoruz. Eğer proxy’ye ait herhangi bir kullanıcı adı ve şifre bilgisi bulunmuyorsa **Credentials** özelliğine değer vermenize gerek yoktur.

Sonrasında ise oluşturmuş olduğumuz WebProxy nesnesini **HttpClientHandler** tipindeki bir nesnenin **Proxy** özelliğine atıyoruz ve ilgili nesne örneğinin **UseProxy** özelliğini **true** olarak ayarlıyoruz.

En son işlem olarak ise **HttpClient** tipinin nesne örneğini oluştururken yapıcı metoda (constructor) **HttpClientHandler** tipindeki nesne örneğini vermek. Bu aşamadan sonra HttpClient tipindeki nesne örneğinden gönderilecek işlem proxy üzerinden geçerek atılacaktır.

Örnek kodlara [https://github.com/mennan/netcore-httpclient-proxy](https://github.com/mennan/netcore-httpclient-proxy?ref=mennankose.com) adresinden ulaşabilirsiniz.