2009-04-15 6 views
10

우리 응용 프로그램은 HTTP 용 libcurl을 사용하며 Internet Explorer의 프록시 설정에 액세스하려고합니다. 이전 스택 오버플로 질문 recommends that we use WinHttpGetIEProxyConfigForCurrentUser and WinHttpGetProxyForUrl.winhttp.h를 얻는 가장 좋은 방법은 무엇입니까?

불행히도 winhttp.h 헤더는 Visual C++ 2005 또는 Visual Studio 2008 사본에 포함되어 있지 않은 것으로 보입니다. 분명히 it's possible to download an updated Platform SDK and install it in Visual C++ 2005이지만 상당히 고통 스럽지만 새로운 버전의 Visual에서는 작동하지 않습니다 사진관.

C++에서 WinHTTP 5.1 API에 액세스 할 수있는 좋은 방법이 있습니까? 아니면 이러한 API를 사용하지 않아야합니까?

답변

15

C++에서 WinHTTP 5.1 API에 액세스하는 가장 잘 지원되는 방법은 Windows SDK (플랫폼 SDK의 새 이름)를 사용하고 언급 한 API를 사용하는 것입니다.

당신이 링크 한 기사는 SDK 설치가 어렵다는 것을 암시합니다. 좋은 소식은 2006 년의 오래된 기사이며 요즘은 훨씬 쉬워졌습니다. 그냥 다음을 수행하십시오

  1. here에서 최신 SDK ISO 이미지를 다운로드 - 그것이 "윈도우 서버 2008 SDK"라는 것에 대해 걱정하지 마십시오, 그것은 서버 2003도이다, XP 및 비스타.
  2. DVD에 굽기
  3. DVD에서 setup.exe를 실행하고 전체 설치를 선택하여 30 분 정도 실행하십시오. 설치 후
  4. , 고토 시작 -> 프로그램 -> 마이크로 소프트 윈도우 SDK -> 비주얼 스튜디오 등록 ->당신은 심지어 설치하는 동안 통합 도구를 실행하라는 메시지가 표시 될 수 있습니다 2,005

Visual Studio를 사용하여 Windows SDK를 통합 - 설치 한 지 오래되었으므로 정확히 기억하지 못합니다.

그러면 Visual C++ 컴파일러는 해당 폴더에서 winhttp.h 및 winhttp.lib를 찾을 수 있습니다.

업데이트 평소와 같이해야 할 일은 결코 간단하지 않습니다. EMK는 Windows SDK 구성 도구가 Visual Studio 2008 (모든 버전)에서 제대로 작동하지 않으며 Visual Studio 2008 SP1을 설치 한 후 충돌이 발생한다고 지적했습니다. 세부 정보 및 해결 방법은 herehere으로보고됩니다.

+0

감사합니다. 실제로 전체 설치가 필요한가, 아니면 관련 C++ 부분 만 설치 (예 :) 할 수 있습니까? – emk

+1

나는 그곳에 어떤 옵션이 있는지 잊어 버리고있다. 아마 Win32 헤더와 라이브러리 만 있으면 될 것이다. 그러나 디스크 공간은 저렴하기 때문에 일반적으로 모든 것을 설치합니다. 그러나 필요한 구성 요소를 파악하는 데는 아마도 시간이 걸리지 않을 수 있습니다. – snowcrash09

+0

충분히 공정하게! 우리는 많은 기계에 그것을 설치해야하기 때문에 실제로 어떤 구성 요소가 필요한지 파악할 가치가 있다고 생각했습니다. 조언 해주셔서 감사합니다! – emk

2

전체 SDK가 필요하지는 않습니다. 올바른 부분을 다운로드하기 만하면 MSDN에서 선택할 수 있습니다.

+0

나는 모든 것을 필요로하지 않는다는 데 동의하지만, 많은 사람들이 올바른 부분을 알아내는 것은 모든 것을 설치하는 것보다 비용이 많이 든다. – snowcrash09

6

누군가이 게시물을 읽고 winhttp를 설치하기 위해 설치할 수있는 최소한의 구성 요소에 대해 궁금한 경우 Microsoft Windows 핵심 SDK> 빌드 환경> x86 환경 (x86 32 비트)을 설치하면 저에게 효과적입니다.

관련 문제