728x90
반응형
728x170
▶ HttpClient 클래스 : 프록시 사용하기 예제
string content = await GetStringAsync("http://192.168.72.10:8888", "http://www.daum.net");
728x90
▶ HttpClient 클래스 : 프록시 사용하기
using System;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
#region 문자열 구하기 (비동기) - GetStringAsync(proxyURL, url)
/// <summary>
/// 문자열 구하기 (비동기)
/// </summary>
/// <param name="proxyURL">프록시 URL</param>
/// <param name="url">URL</param>
/// <returns>문자열</returns>
public async Task<string> GetStringAsync(string proxyURL, string url)
{
string content = string.Empty;
try
{
ServicePointManager.Expect100Continue = false;
ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
WebProxy proxy = new WebProxy { Address = new Uri(proxyURL) };
HttpClientHandler clientHandler = new HttpClientHandler()
{
AllowAutoRedirect = true,
AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip,
Proxy = proxy,
};
using(HttpClient client = new HttpClient(clientHandler))
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("*/*"));
client.DefaultRequestHeaders.Add("Accept-Encoding", "gzip, deflate");
HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, url);
HttpResponseMessage httpResponseMessage = await client.SendAsync(httpRequestMessage);
if(httpResponseMessage.StatusCode == HttpStatusCode.OK)
{
content = await httpResponseMessage.Content.ReadAsStringAsync();
}
}
}
catch(HttpRequestException)
{
throw;
}
return content;
}
#endregion
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON/.NET5] dotnet publish 명령 : 단일 exe 파일 생성하기 (0) | 2021.08.19 |
---|---|
[C#/COMMON] Enum 클래스 : GetValues 정적 메소드를 사용해 최대 열거형 값 구하기 (0) | 2021.08.19 |
[C#/COMMON] DateTime 구조체 : ToUniversalTime/ToString 메소드를 사용해 ISO 8601 날짜 포맷 출력하기 (0) | 2021.08.19 |
[C#/COMMON] File 클래스 : Move 정적 메소드를 사용해 파일명 변경하기 (0) | 2021.08.19 |
[C#/COMMON] CharUnicodeInfo 클래스 : GetUnicodeCategory 정적 메소드를 사용해 분음 부호 제거하기 (0) | 2021.08.19 |
[C#/COMMON] Math 클래스 : Floor/Log10 정적 메소드를 사용해 값 자리수 구하기 (0) | 2021.08.19 |
[C#/COMMON] Random 클래스 : NextDouble 메소드를 사용해 임의 진리값 구하기 (0) | 2021.08.19 |
[C#/COMMON] ConsoleColor 열거형 : Color 객체에서 콘솔 색상 구하기 (0) | 2021.08.19 |
[C#/COMMON] Console 클래스 : BackgroundColor/ForegroundColor 정적 속성 사용하기 (0) | 2021.08.19 |
[C#/COMMON] 열거형으로 비트마스크 사용하기 (0) | 2021.08.19 |
댓글을 달아 주세요