Atureu un bucle de rotació de proxy que s'executa per sempre
Doneu a un pool de proxys de Python un pressupost finit d'intents i distingiu els errors de connexió de les respostes del destí.
Una capa de mapa es carrega pel proxy de l'oficina, mentre que la crida API d'un connector falla. Totes dues accions s'executen dins del QGIS, però poden fer servir clients HTTP diferents.
El QGIS exposa QgsNetworkAccessManager per a operacions de xarxa. Aquest transporta la configuració de xarxa del QGIS a les peticions fetes a través d'aquest gestor. Un connector Python que importa Requests crea un altre client amb el seu propi comportament de proxy i autenticació.
Trieu la configuració que voleu compartir
Per a un connector pensat per seguir les preferències de xarxa del QGIS de l'usuari, fer servir el gestor de xarxa del QGIS evita reconstruir aquestes preferències per separat. Reviseu l'API adequada a la versió del QGIS que doneu suport, inclòs el seu comportament asíncron i la integració de l'autenticació.
Si cal Requests per una altra raó, configureu-lo deliberadament. El seu diccionari de proxys i la gestió de l'entorn segueixen la documentació de Requests. Un proxy seleccionat a la configuració del QGIS no és automàticament una opció de sessió de Requests.
Sigueu precisos amb l'abast quan proveu exemples de Qt d'un fòrum. Establir un proxy per a una aplicació Qt afecta la xarxa de Qt. No demostra que Requests, que utilitza una implementació de xarxa diferent, hagi canviat la seva ruta.
Compareu la mateixa destinació
Feu servir l'URL del connector que falla quan compareu comportaments. Un servei de mapes i una API no relacionada poden tenir regles d'omissió, permisos de proxy o cadenes de certificats diferents. Una petició de mapa correcta només demostra que la seva pròpia ruta funciona.
Captureu el nom del client HTTP, l'amfitrió de destinació, si es va demanar autenticació de proxy i l'etapa real de l'error. Excloeu les contrasenyes dels registres del connector. Aquesta petita comparació normalment us diu si cal arreglar la integració de xarxa del QGIS o el client Python independent, sense restablir preferències de proxy que ja funcionen per a l'usuari.