.NET HttpClient ଅନୁରୋଧ proxy ଦେଇ ପଠାନ୍ତୁ
HttpClientHandler ରେ WebProxy ସଜାନ୍ତୁ ଏବଂ proxy routing ବନ୍ଦ ରହିବା ବା ଭୁଲ୍ client ସହ ଯୋଡ଼ିବା ଏଡ଼ାନ୍ତୁ।
ଅନୁରୋଧ ନିଜ proxy handler ରେ ତିଆରି HttpClient ବ୍ୟବହାର କରିବା ଦରକାର। ସମ୍ପର୍କ ନଥିବା WebProxy object ତିଆରି କଲେ ଅନ୍ୟ client ର ପଥ ବଦଳେ ନାହିଁ।
using System;
using System.Net;
using System.Net.Http;
var proxy = new WebProxy("http://203.0.113.10:8080")
{
BypassProxyOnLocal = false
};
using var handler = new HttpClientHandler
{
Proxy = proxy,
UseProxy = true
};
using var client = new HttpClient(handler)
{
Timeout = TimeSpan.FromSeconds(15)
};
using var response = await client.GetAsync("https://example.com/");
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(await response.Content.ReadAsStringAsync());ଦଲିଲର ଠିକଣାକୁ ନିଜ ସେବା ବା HTTP proxy ତାଲିକାର ପ୍ରକୃତ HTTP proxy ରେ ବଦଳାନ୍ତୁ। ଏହି top-level syntax ଆଧୁନିକ C# console ପ୍ରକଳ୍ପ ପାଇଁ ଉପଯୁକ୍ତ; ପୁରୁଣା ପ୍ରକଳ୍ପ statement ଗୁଡ଼ିକୁ asynchronous Main ରେ ରଖିପାରନ୍ତି।
Handler ର ଉଭୟ property ଯାଞ୍ଚ କରନ୍ତୁ: Proxy endpoint ବାଛେ ଓ UseProxy=true ଏହାର ବ୍ୟବହାର ଚାଲୁ କରେ। Endpoint ପୃଥକ୍ ଚାଲିଲେ ମଧ୍ୟ ଆପ୍ରେ ନ ଚାଲିଲେ କୌଣସି କୋଡ୍ UseProxy ବନ୍ଦ କରୁନାହିଁ ଏବଂ call ଏହି instance ବ୍ୟବହାର କରୁଛି ନିଶ୍ଚିତ କରନ୍ତୁ। ପୃଥକ୍ handler process ବା OS ର proxy ଖୋଜରେ ନିର୍ଭରତା ଏଡ଼ାଏ।
Proxy ଚାଳକ account ଦେଲେ NetworkCredential କୁ WebProxy.Credentials property ରେ ଦିଅନ୍ତୁ। ୱେବସାଇଟ୍ Authorization ଅନ୍ୟ ପର୍ଯ୍ୟାୟ ପାଇଁ ଏବଂ ସାର୍ବଜନୀନ IP:port ଏଣ୍ଟ୍ରି default login ଦିଏ ନାହିଁ। http:// listener tunnel ଦେଇ HTTPS ବହନ କରିପାରେ; ସାଧାରଣ ଲକ୍ଷ୍ୟ ଯାଞ୍ଚ ରଖନ୍ତୁ।
ଏହି ଛୋଟ program ବାହାରିବା ସମୟରେ object ମୁକ୍ତ କରେ। ବାରମ୍ବାର service call ପାଇଁ .NET client lifetime ନିର୍ଦ୍ଦେଶ ମାନି ପ୍ରତି ଅନୁରୋଧରେ connection pool ପୁଣି ତିଆରି ନ କରି workload ପାଇଁ client/handler ରଖନ୍ତୁ। ଫେରିଥିବା status ଦେଖନ୍ତୁ: କାମ କରୁଥିବା proxy ପଥ ମଧ୍ୟ ୱେବସାଇଟ୍ର ପ୍ରତ୍ୟାଖ୍ୟାନ ଆଣିପାରେ।