다음을 통해 공유


HttpAddRequestHeadersA 함수(wininet.h)

HTTP 요청 핸들에 하나 이상의 HTTP 요청 헤더를 추가합니다.

구문

BOOL HttpAddRequestHeadersA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwModifiers
);

매개 변수

[in] hRequest

HttpOpenRequest 함수에 대한 호출에서 반환되는 핸들입니다.

[in] lpszHeaders

요청에 추가할 헤더를 포함하는 문자열 변수에 대한 포인터입니다. 각 헤더는 CR/LF(캐리지 리턴/라인 피드) 쌍으로 종료되어야 합니다.

[in] dwHeadersLength

TCHARlpszHeaders 크기입니다. 이 매개 변수가 -1L이면 함수는 lpszHeaders 가 ASCIIZ(0-terminated)이고 길이가 계산된다고 가정합니다.

[in] dwModifiers

이 함수의 의미 체계를 제어하는 한정자 집합입니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

의미
HTTP_ADDREQ_FLAG_ADD
헤더가 없으면 헤더를 추가합니다. HTTP_ADDREQ_FLAG_REPLACE 함께 사용됩니다.
HTTP_ADDREQ_FLAG_ADD_IF_NEW
헤더가 없는 경우에만 추가합니다. 그렇지 않으면 오류가 반환됩니다.
HTTP_ADDREQ_FLAG_COALESCE
같은 이름의 헤더를 병합합니다.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
같은 이름의 헤더를 병합합니다. 예를 들어 이 플래그와 함께 "Accept: text/*" 뒤에 "Accept: audio/*"를 추가하면 단일 헤더 "Accept: text/*, audio/*"가 형성됩니다. 이로 인해 첫 번째 헤더가 병합됩니다. 병합/분리된 헤더와 관련하여 응집력 있는 체계를 보장하는 것은 호출 애플리케이션에 달려 있습니다.
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
세미콜론을 사용하여 동일한 이름의 헤더를 병합합니다.
HTTP_ADDREQ_FLAG_REPLACE
헤더를 바꾸거나 제거합니다. 헤더 값이 비어 있고 헤더가 있으면 제거됩니다. 비어 있지 않으면 헤더 값이 바뀝니다.

반환 값

성공하면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

HttpAddRequestHeaders 는 HTTP 요청 핸들에 자유 형식의 추가 헤더를 추가하며 HTTP 서버로 전송되는 정확한 요청에 대한 자세한 제어가 필요한 정교한 클라이언트에서 사용하기 위한 것입니다.

기본 HttpAddRequestHeaders의 경우 애플리케이션은 단일 버퍼에서 여러 헤더를 전달할 수 있습니다. 애플리케이션이 헤더를 제거하거나 바꾸려는 경우 lpszHeaders에서 하나의 헤더만 제공할 수 있습니다.

참고HttpAddRequestHeadersA 함수는 헤더를 ANSI 문자가 아닌 ISO-8859-1 문자로 나타냅니다. HttpAddRequestHeadersW 함수는 헤더를 UTF-16LE 문자로 변환된 ISO-8859-1 문자로 나타냅니다. 따라서 추가할 헤더에 ASCII가 아닌 문자가 포함될 수 있는 경우 HttpAddRequestHeadersW 함수를 사용하는 것은 안전하지 않습니다. 대신 애플리케이션은 Codepage 매개 변수가 28591로 설정된 MultiByteToWideCharWideCharToMultiByte 함수를 사용하여 ANSI 문자와 UTF-16LE 문자 간에 매핑할 수 있습니다.
 
WinINet API의 다른 모든 측면과 마찬가지로 이 함수는 DllMain 내에서 또는 전역 개체의 생성자 및 소멸자에서 안전하게 호출할 수 없습니다.
참고 WinINet은 서버 구현을 지원하지 않습니다. 또한 서비스에서 사용하지 않아야 합니다. 서버 구현 또는 서비스의 경우 WinHTTP(Microsoft Windows HTTP 서비스)를 사용합니다.
 

참고

wininet.h 헤더는 HTTPAddRequestHeaders를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 wininet.h
라이브러리 Wininet.lib
DLL Wininet.dll

추가 정보

HTTP 세션

WinINet 함수