QGIS는 프록시를 사용하지만 Requests 기반 플러그인은 사용하지 않는다
QGIS 네트워크 구성과 플러그인의 독립적인 Python Requests 클라이언트 사이의 분리를 추적합니다.
지도 레이어는 사내 프록시를 통해 로드되지만 플러그인의 API 호출은 실패합니다. 두 작업 모두 QGIS 안에서 실행되지만 서로 다른 HTTP 클라이언트를 사용할 수 있습니다.
QGIS는 네트워크 작업을 위해 QgsNetworkAccessManager를 제공합니다. 이 관리자는 QGIS의 네트워크 구성을 해당 관리자를 통해 이루어지는 요청으로 전달합니다. Requests를 가져오는 Python 플러그인은 자체적인 프록시 및 인증 동작을 가진 또 다른 클라이언트를 만듭니다.
공유하려는 구성을 선택하세요
사용자의 QGIS 네트워크 환경 설정을 따르도록 만들어진 플러그인이라면 QGIS 네트워크 관리자를 사용하는 것이 그 설정을 별도로 다시 구현하지 않는 방법입니다. 지원하는 QGIS 버전에 맞는 API를 확인하되, 비동기 동작과 인증 통합도 함께 살펴보세요.
다른 이유로 Requests가 필요하다면 의도적으로 구성하세요. 프록시 딕셔너리와 환경 변수 처리는 Requests 문서를 따릅니다. QGIS 설정에서 선택한 프록시가 자동으로 Requests 세션 설정이 되는 것은 아닙니다.
포럼의 Qt 예제를 시험할 때는 적용 범위를 정확히 파악하세요. Qt 애플리케이션 프록시를 설정하면 Qt 네트워크에 영향을 줍니다. 다른 네트워크 구현을 사용하는 Requests의 경로가 바뀌었다는 것을 증명하지는 않습니다.
같은 목적지로 비교하세요
동작을 비교할 때는 실패하는 플러그인의 URL을 사용하세요. 지도 서비스와 무관한 API는 우회 규칙, 프록시 권한, 인증서 체인이 다를 수 있습니다. 지도 요청이 성공했다는 것은 그 요청 자체의 경로가 동작한다는 것만 보여 줍니다.
HTTP 클라이언트 이름, 대상 호스트, 프록시 인증 요구 여부, 실제 오류 단계를 기록하세요. 플러그인 로그에서는 비밀번호를 제외합니다. 이 작은 비교만으로 사용자에게 이미 동작하는 프록시 설정을 초기화하지 않고 QGIS 네트워크 통합을 고칠지 독립적인 Python 클라이언트를 고칠지 대개 판단할 수 있습니다.