2012-11-22 3 views
1

기본 프록시 설정을 검색하려고합니다. 이 함수는 TRUE를 반환WinHttpGetDefaultProxyConfiguration이 잘못된 프록시 정보를 반환합니다.

WINHTTP_PROXY_INFO ProxyInfo; 
ZeroMemory(&ProxyInfo, sizeof(ProxyInfo)); 

BOOL result = WinHttpGetDefaultProxyConfiguration(&ProxyInfo); 

if (result) 
{ 
    //... 
} 

하지만 ProxyInfo에 내가 없다 : WINHTTP_ACCESS_TYPE_NO_PROXYlpszProxy == NULL을 아무리 내가 ProxyCfg.exe-> 연결 -> LAN 설정 -> 프록시 서버를 통해 무엇을 넣어 설정 내가 다음 코드를 사용하여이 작업을 수행하려면 . 내가 여기서 뭘 잘못하고 있는지 알아?

이 코드를 Win7 64 비트 시스템에서 테스트했지만 모든 WinXP + 버전에서 작동해야합니다.

libproxy 프로젝트를 확인했는데 프록시 설정이 레지스트리에서 검색되었습니다. 이 방법이 신뢰할 수 있습니까? 모든 Windows 버전에서 프록시 구성에 대해 동일한 레지스트리 경로가 있습니까?

+0

왜 WinHttpGetDefaultProxyConfiguration을 사용하지 않고 가짜 결과가 나타나면 레지스트리에서 읽으시겠습니까? "모든 Windows 버전에서"낙천주의로 가득 차 있습니다 - 여러 가지 방법을 사용할 준비를하십시오. – ActiveTrayPrntrTagDataStrDrvr

+0

@ActiveTrayPrntrTagDataStrDrvr 그러나 결과가 잘못되었는지 어떻게 알 수 있습니까? :) 컴퓨터/레지스트리에서/ProxyCfg.exe를 검사하고 결과가 올바르지 않아서 알 수 있습니다. 다른 컴퓨터에서 어떻게하면됩니까? – Felics

+0

나는 무엇이든에 기입으로 갈 것입니다. 레지스트리 메서드가 프록시를 검색하지 않으면 WinHttp를 시도 할 것입니다. 그 외에도 모든 출처에서 여러 개의 프록시를 가져 와서 설정하는 것도 옵션입니다. – ActiveTrayPrntrTagDataStrDrvr

답변

1

Chrome에서 사용한 방법을 시도했지만 정상적으로 작동합니다. 또한 여러 Windows 버전에서 테스트해야합니다.

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG ProxyInfo; 
BOOL result = WinHttpGetIEProxyConfigForCurrentUser(&ProxyInfo); 
관련 문제