Et kortlag indlæses via kontorets proxy, mens et plugins API-kald fejler. Begge handlinger kører inde i QGIS, men de bruger måske forskellige HTTP-klienter.

QGIS eksponerer QgsNetworkAccessManager til netværksoperationer. Den bærer QGIS' netværkskonfiguration ind i anmodninger, der sendes gennem den manager. Et Python-plugin, der importerer Requests, opretter en anden klient med sin egen proxy- og godkendelsesadfærd.

Vælg den konfiguration, du vil dele

For et plugin, der skal følge brugerens QGIS-netværkspræferencer, undgår brugen af QGIS' netværksmanager at genopbygge disse præferencer uafhængigt. Kontroller den API, der passer til den QGIS-version, du understøtter, inklusive dens asynkrone adfærd og godkendelsesintegration.

Hvis Requests er nødvendig af en anden grund, konfigurer den med vilje. Dens proxyordbog og miljøhåndtering følger Requests-dokumentationen. En proxy valgt i QGIS' indstillinger er ikke automatisk en Requests-sessionsindstilling.

Vær præcis om omfanget, når du prøver Qt-eksempler fra et forum. At sætte en proxy for en Qt-applikation påvirker Qt-netværk. Det beviser ikke, at Requests, som bruger en anden netværksimplementering, har ændret rute.

Sammenlign den samme destination

Brug URL'en til det fejlende plugin, når du sammenligner adfærd. En korttjeneste og en urelateret API kan have forskellige omgåelsesregler, proxytilladelser eller certificatkæder. En vellykket kortanmodning beviser kun, at dens egen rute virker.

Registrér HTTP-klientens navn, destinationsværten, om proxygodkendelse blev anmodet om, og den faktiske fejlfase. Udelad adgangskoder fra plugin-logfiler. Den lille sammenligning fortæller dig som regel, om du skal rette QGIS' netværksintegration eller den uafhængige Python-klient, uden at nulstille proxypræferencer, der allerede virker for brugeren.

Relaterede artikler