ServerXMLHTTP setProxy: 모드 1은 직접 연결을 선택합니다
ServerXMLHTTP의 올바른 프록시 모드 상수를 사용하고 바이패스 목록을 대체 프록시 엔드포인트와 분리하세요.
이 VBA 호출은 proxyServer에 저장된 프록시를 선택하는 것처럼 보입니다:
http.setProxy 1, proxyServer, bypassList
MSXML ServerXMLHTTP에서 첫 번째 인수가 프록시 모드를 선택합니다. 문서화된 값은 기본 구성이 0, 직접 연결이 1, 명시적으로 지정한 프록시가 2입니다. 1 뒤에 주소를 전달해도 직접 모드가 수동 프록시 모드로 바뀌지 않습니다.
수동 프록시의 최소 예는 다음과 같습니다:
Dim http As Object
Set http = CreateObject("MSXML2.ServerXMLHTTP.6.0")
http.setProxy 2, "proxy.example:8080", "<local>"
http.Open "GET", "https://example.com/", False
http.send
예제의 엔드포인트는 자리 표시자입니다. 공용 프록시를 확인하려면 HTTP 프록시 목록의 HTTP 주소로 바꾸세요. 세 번째 인수는 바이패스 목록입니다. 여기서 <local>은 문서화된 로컬 이름 예외를 사용합니다. 첫 번째가 실패할 때 시도할 두 번째 프록시가 아닙니다. 따라서 거기에 다른 프록시의 IP와 포트를 넣는 것은 잘못된 종류의 설정을 표현합니다.
VBA 참조가 노출하는 곳에서는 명명된 상수를 사용하고, 늦은 바인딩을 사용할 때는 해당 상수를 로컬에서 정의하여 검토 중에 모드가 보이게 하세요.
개체 형식도 염두에 두세요. ServerXMLHTTP, 브라우저용 XMLHTTP, WinHttpRequest은 서로 다른 COM 인터페이스입니다. 하나에 대해 동작하는 예가 다른 하나의 구성 원본을 증명하지는 않습니다. 올바른 개체가 수동 프록시 모드를 선택한 뒤에는 해당 경로에 남은 연결, 인증 또는 TLS 오류를 조사하세요.