반응형
HttpClient에서 기본 사용자 에이전트를 설정하려면 어떻게 해야 합니까?
에 사용자 에이전트를 설정하는 것은 쉽습니다.HttpRequest
하지만 저는 종종 싱글을 사용하고 싶습니다.HttpClient
각 요청에 대해 설정할 필요 없이 매번 동일한 사용자 에이전트를 사용합니다.
다음을 사용하여 쉽게 문제를 해결할 수 있습니다.
HttpClient _client = new HttpClient();
_client.DefaultRequestHeaders.Add("User-Agent", "C# App");
사용.DefaultRequestHeaders.Add(...)
저한테는 안 통했어요.
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (compatible; AcmeInc/1.0)");
다음은 .NET Standard 2.0 라이브러리에서 작동했습니다.
HttpClient client = new HttpClient();
ProductHeaderValue header = new ProductHeaderValue("MyAwesomeLibrary", Assembly.GetExecutingAssembly().GetName().Version.ToString());
ProductInfoHeaderValue userAgent = new ProductInfoHeaderValue(header);
client.DefaultRequestHeaders.UserAgent.Add(userAgent);
// User-Agent: MyAwesomeLibrary/1.0.0.0
JensG 주석 사용
짧은 추가:또한 UserAgent 클래스는 TryParse를 제공하므로 버전 번호가 없을 때 특히 유용합니다.RFC는 이 경우를 명시적으로 허용합니다.
using System.Net.Http;
using (var httpClient = new HttpClient())
{
httpClient.DefaultRequestHeaders
.UserAgent
.TryParseAdd("Mike D's Agent");
//User-Agent: Mike D's Agent
}
string agent="ClientDemo/1.0.0.1 test user agent DefaultRequestHeaders";
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("User-Agent", agent);
비고: 이 구조를 사용하여 에이전트 이름 User-Agent: 제품 / 제품 버전 비고를 생성합니다.
- 제품: 제품 식별자
- product-version : 제품 버전 번호입니다.
- comment: 예를 들어 제품을 포함하는 정보 Comments가 하나 이상이 없습니다.
언급URL : https://stackoverflow.com/questions/44076962/how-do-i-set-a-default-user-agent-on-an-httpclient
반응형
'programing' 카테고리의 다른 글
Node.js로 이메일을 보내시겠습니까? (0) | 2023.06.20 |
---|---|
SQL Server 2008 - 테이블 제약 조건 가져오기 (0) | 2023.06.20 |
특정 디렉토리에서 어떻게 'git diff'를 합니까? (0) | 2023.06.20 |
단일 파일에서 충돌 해결 다시 시작/실행 취소 (0) | 2023.06.20 |
Spring @Import 또는 @Configuration을 매개변수로 설정할 수 있습니까? (0) | 2023.06.20 |