Unha capa de mapa cárgase a través do proxy da oficina, mentres que a chamada á API dun complemento falla. Ambas as accións execútanse dentro de QGIS, pero poden usar clientes HTTP distintos.

QGIS expón QgsNetworkAccessManager para as operacións de rede. Transporta a configuración de rede de QGIS ás peticións feitas a través dese xestor. Un complemento de Python que importa Requests crea outro cliente co seu propio comportamento de proxy e autenticación.

Escolle a configuración que queres compartir

Para un complemento destinado a seguir as preferencias de rede de QGIS do usuario, usar o xestor de rede de QGIS evita reconstruír esas preferencias de forma independente. Comproba a API axeitada para a versión de QGIS que admites, incluído o seu comportamento asíncrono e a súa integración de autenticación.

Se Requests é necesario por outro motivo, configúrao deliberadamente. O seu dicionario de proxy e a xestión da contorna seguen a documentación de Requests. Un proxy seleccionado na configuración de QGIS non é automaticamente un axuste de sesión de Requests.

Sé preciso sobre o alcance cando probes exemplos de Qt dun foro. Establecer un proxy de aplicación Qt afecta á rede de Qt. Non demostra que Requests, que usa outra implementación de rede, cambiase a súa ruta.

Compara o mesmo destino

Usa o URL do complemento que falla ao comparar o comportamento. Un servizo de mapas e unha API non relacionada poden ter regras de omisión, permisos de proxy ou cadeas de certificados diferentes. Unha petición de mapa correcta só demostra que a súa propia ruta funciona.

Rexistra o nome do cliente HTTP, o host de destino, se se solicitou autenticación de proxy e a etapa real do erro. Exclúe os contrasinais dos rexistros do complemento. Esa pequena comparación adoita indicarche se debes corrixir a integración de rede de QGIS ou o cliente Python independente, sen restablecer preferencias de proxy que xa funcionan para o usuario.

Artigos relacionados