Learn how to route .NET HTTP traffic through a QuotaGuard Static IP proxy. Includes C# code examples and Dockerfile.
N/A
docker build -t qg-static-dotnet-https-example .
docker run -e QUOTAGUARDSTATIC_URL=... qg-static-dotnet-https-exampleusing System;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
var proxyUrl = Environment.GetEnvironmentVariable("QUOTAGUARDSTATIC_URL");
var testUrl = "https://ip.quotaguard.com/";
if (string.IsNullOrEmpty(proxyUrl))
{
Console.WriteLine("Error: QUOTAGUARDSTATIC_URL environment variable not set.");
return;
}
try
{
var proxyUri = new Uri(proxyUrl);
var proxy = new WebProxy(proxyUri.Host, proxyUri.Port)
{
Credentials = new NetworkCredential(
proxyUri.UserInfo.Split(':')[0],
proxyUri.UserInfo.Split(':')[1]
)
};
var handler = new HttpClientHandler
{
Proxy = proxy,
UseProxy = true
};
using var client = new HttpClient(handler);
var response = await client.GetAsync(testUrl);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine("Response from QuotaGuard:");
Console.WriteLine(body);
}
catch (Exception ex)
{
Console.WriteLine("Request failed:");
Console.WriteLine(ex.Message);
}
}
}<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project># Stage 1: Build
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /app
COPY ProxyTest.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
# Stage 2: Runtime
FROM mcr.microsoft.com/dotnet/runtime:6.0
WORKDIR /app
COPY --from=build /app/out ./
ENTRYPOINT ["dotnet", "ProxyTest.dll"]