728x90
반응형
서론
Wininet Component Suite의 TInetHttp 컴포넌트를 그대로 사용하여 웹서버와 통신을 하게되면 웹 서버의 User Agent 부분에 "WinInetComponentSuite"로 남게 됩니다. 물론 TIdHTTP를 사용하면 "Indy"라고 User Agent가 남게 됩니다. Indy에서는 User Agent가 변경이 가능하지만, TInetHttp는 직접적으로 변경할 수 있는 속성을 제공하지 않습니다.
User Agent 변경하기
TInetHttp에서는 직접적으로 User Agent를 변경할 수 있는 속성을 제공하지 않기 때문에, 다음과 같이 AddRequestHeader 메소드를 이용하여 User Agent를 변경할 수 있습니다.
with INetHttp do try INetUrl.Url := EditUrl.Text; ServerName := INetUrl.HostName; Port := INetUrl.Port; // 포트 할당 if ('https' = AINetUrl.Scheme) then // https 요청인 경우 암호화를 위한 플래그 설정 필요 Flags := Flags + [flIgnoreCertCnInvalid, flIgnoreCertDateInvalid, flSecure]; Open; OpenRequest('GET', INetUrl.UrlPath + INetURL.ExtraInfo); AddRequestHeader('User-Agent: MyWininetTestAgent'); // User-Agnet 변경 SendRequest; repeat strData := InetHttp.GetData; until strData = ''; finally CloseRequest; Close; end;위와 같이 User Agent를 설정하면 다음과 같이 서버 요청시 User Agent가 변경되어 호출되는 것을 확인하실 수 있습니다.
결론
Wininet Component Suite의 TInetHttp 컴포넌트의 AddRequestHeader 메소드를 이용하여 User Agent를 변경해 보았습니다.
관련자료
- Wininet Component Suite에서 https로 통신하기
- WinInet Component Suite를 이용한 파일 업로드(POST) 예제
- WinINet API를 이용하여 HTTP POST 방식으로 파일 업로드하기
-
WinInet Component Suite
'프로그래밍 > 델파이' 카테고리의 다른 글
TShockwaveFlash 크기 조정(Resize) (0) | 2010.04.14 |
---|---|
2010에서 Zeos 7.0 설치 및 MySQL 5.1.4와 테스트기 (0) | 2010.04.07 |
Wininet Component Suite에서 https로 통신하기 (0) | 2010.03.12 |
Graphics32 델파이 2010에 설치하기 (0) | 2010.01.21 |
성능비교(Round, Trunc, Floor, MulDiv, 정수연산) (0) | 2010.01.20 |