QGIS Memakai Proxy, tetapi Plugin Berbasis Requests Tidak
Telusuri pemisahan antara konfigurasi jaringan QGIS dan klien Python Requests independen milik plugin.
Sebuah layer peta dimuat melalui proxy kantor, sementara panggilan API sebuah plugin gagal. Kedua tindakan berjalan di dalam QGIS, tetapi keduanya dapat memakai klien HTTP yang berbeda.
QGIS menyediakan QgsNetworkAccessManager untuk operasi jaringan. Ia membawa konfigurasi jaringan QGIS ke dalam permintaan yang dibuat melalui manajer tersebut. Plugin Python yang mengimpor Requests membuat klien lain dengan perilaku proxy dan autentikasinya sendiri.
Pilih konfigurasi yang ingin Anda bagikan
Untuk plugin yang dimaksudkan mengikuti preferensi jaringan QGIS pengguna, memakai manajer jaringan QGIS menghindari pembangunan ulang preferensi tersebut secara terpisah. Periksa API yang sesuai dengan versi QGIS yang Anda dukung, termasuk perilaku asinkron dan integrasi autentikasinya.
Jika Requests diperlukan karena alasan lain, konfigurasikan dengan sengaja. Kamus proxy dan penanganan lingkungan mengikuti dokumentasi Requests. Proxy yang dipilih di pengaturan QGIS tidak otomatis menjadi pengaturan sesi Requests.
Bersikaplah tepat soal cakupan saat mencoba contoh Qt dari forum. Menetapkan proxy aplikasi Qt memengaruhi jaringan Qt. Itu tidak membuktikan bahwa Requests, yang memakai implementasi jaringan berbeda, telah mengubah rutenya.
Bandingkan tujuan yang sama
Gunakan URL plugin yang gagal saat membandingkan perilaku. Layanan peta dan API yang tidak terkait dapat memiliki aturan bypass, izin proxy, atau rantai sertifikat yang berbeda. Permintaan peta yang berhasil hanya membuktikan bahwa rutenya sendiri berfungsi.
Catat nama klien HTTP, host tujuan, apakah autentikasi proxy diminta, dan tahap kesalahan yang sebenarnya. Kecualikan kata sandi dari log plugin. Perbandingan kecil itu biasanya memberi tahu Anda apakah harus memperbaiki integrasi jaringan QGIS atau klien Python independen, tanpa mengatur ulang preferensi proxy yang sudah berfungsi bagi pengguna.