WinHttpGetProxyForUrl 함수(winhttp.h)

WinHttpGetProxyForUrl 함수는 지정된 URL에 대한 프록시 데이터를 검색합니다.

구문

WINHTTPAPI BOOL WinHttpGetProxyForUrl(
  [in]  HINTERNET                 hSession,
  [in]  LPCWSTR                   lpcwszUrl,
  [in]  WINHTTP_AUTOPROXY_OPTIONS *pAutoProxyOptions,
  [out] WINHTTP_PROXY_INFO        *pProxyInfo
);

매개 변수

[in] hSession

WinHttpOpen 함수에서 반환된 WinHTTP 세션 핸들입니다.

[in] lpcwszUrl

애플리케이션이 보낼 준비를 하고 있는 HTTP 요청의 URL을 포함하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다.

[in] pAutoProxyOptions

사용할 자동 프록시 옵션을 지정하는 WINHTTP_AUTOPROXY_OPTIONS 구조체에 대한 포인터입니다.

[out] pProxyInfo

프록시 설정을 수신하는 WINHTTP_PROXY_INFO 구조체에 대한 포인터입니다. 그런 다음 이 구조체는 WINHTTP_OPTION_PROXY 옵션을 사용하여 요청 핸들에 적용됩니다. GlobalFree 함수를 사용하여 이 구조체에 포함된 lpszProxylpszProxyBypass 문자열(NULL이 아닌 경우)을 해제합니다.

반환 값

함수가 성공하면 함수는 TRUE를 반환 합니다.

함수가 실패하면 FALSE를 반환합니다. 확장 오류 데이터의 경우 GetLastError를 호출합니다.

가능한 오류 코드에는 folllowing이 포함됩니다.

오류 코드 Description
ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR
지정된 URL에 대한 프록시를 배치할 수 없는 경우 WinHttpGetProxyForUrl 에서 반환됩니다.
ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT
PAC(프록시 자동 구성) 파일에서 스크립트 코드를 실행하는 동안 오류가 발생했습니다.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
제공된 핸들의 형식이 이 작업에 잘못되었습니다.
ERROR_WINHTTP_INTERNAL_ERROR
내부 오류가 발생했습니다.
ERROR_WINHTTP_INVALID_URL
URL이 올바르지 않습니다.
ERROR_WINHTTP_LOGIN_FAILURE
로그인 시도가 실패했습니다. 이 오류가 발생하면 WinHttpCloseHandle을 사용하여 요청 핸들을 닫습니다. 원래 이 오류를 생성한 함수를 다시 시도하기 전에 새 요청 핸들을 만들어야 합니다.
ERROR_WINHTTP_OPERATION_CANCELLED
작업이 완료되기 전에 요청이 작동 중인 핸들이 닫혔기 때문에 작업이 취소되었습니다.
ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT
PAC 파일을 다운로드할 수 없습니다. 예를 들어 PAC URL에서 참조하는 서버에 연결할 수 없거나 서버에서 404 NOT FOUND 응답을 반환했습니다.
ERROR_WINHTTP_UNRECOGNIZED_SCHEME
PAC 파일의 URL은 "http:" 또는 "https:" 이외의 체계를 지정했습니다.
ERROR_NOT_ENOUGH_MEMORY
요청된 작업을 완료하는 데 사용할 수 있는 메모리가 부족합니다. (Windows 오류 코드)

설명

이 함수는 HTTP 요청에 대한 프록시 설정을 자동으로 구성하기 위한 WPAD(웹 프록시 자동 검색) 프로토콜을 구현합니다. WPAD 프로토콜은 지정된 대상 URL에 사용할 프록시 서버를 식별하는 스크립트인 PAC(프록시 자동 구성) 파일을 다운로드합니다. PAC 파일은 일반적으로 회사 네트워크 환경 내에서 IT 부서에 의해 배포됩니다. PAC 파일의 URL을 명시적으로 지정하거나 WinHttpGetProxyForUrl 에 로컬 네트워크에서 PAC 파일의 위치를 자동으로 검색하도록 지시할 수 있습니다.

WinHttpGetProxyForUrl 은 ECMAScript 기반 PAC 파일만 지원합니다.

PAC 파일이 다른 URL에 대해 다른 프록시 서버를 반환할 수 있으므로 WinHttpGetProxyForUrl은 URL별로 호출되어야 합니다. PAC 파일을 사용하면 IT 부서가 대상 URL( lpcwszUrl 매개 변수로 지정됨)을 프록시 서버 배열의 특정 프록시에 매핑(해시)하여 프록시 서버 부하 분산을 구현할 수 있기 때문에 유용합니다.

자동 검색이 pAutoProxyOptions 구조의 dwFlags 멤버에 지정된 경우 WinHttpGetProxyForUrl은 autoproxy URL 및 autoproxy 스크립트를 캐시합니다. 자세한 내용은 Autoproxy Cache를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP, Windows 2000 Professional SP3 포함 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003, Windows 2000 Server SP3 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winhttp.h
라이브러리 Winhttp.lib
DLL Winhttp.dll

추가 정보

WinHTTP 버전