Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa NameResolutionError(self.host, self, e) daripada e dan cara menyelesaikannya

Mengapa NameResolutionError(self.host, self, e) daripada e dan cara menyelesaikannya

WBOY
Lepaskan: 2024-03-01 13:20:03
ke hadapan
911 orang telah melayarinya

为什么NameResolutionError(self.host, self, e) from e,怎么解决

Sebab ralat

NameResolutionError(self.host, self, e) daripada e ialah jenis pengecualian dalam pustaka urllib3 Sebab ralat ini adalah kerana resolusi DNS gagal, iaitu , resolusi percubaan Nama hos atau alamat IP tidak dapat ditemui. Ini mungkin disebabkan oleh alamat URL yang dimasukkan tidak betul, atau DNS server tidak tersedia buat sementara waktu.

Cara menyelesaikan

Mungkin terdapat beberapa cara untuk menyelesaikan ralat ini:

Semak sama ada alamat URL yang dimasukkan adalah betul, pastikan ia boleh diakses

Pastikan pelayan DNS tersedia, anda boleh cuba menggunakan "ping" dalam baris arahan " perintah untuk menguji sama ada pelayan DNS tersedia

Cuba gunakan alamat IP dan bukannya nama hos untuk mengakses tapak web

Jika anda berada dalam persekitaran proksi, semak sama ada konfigurasi proksi adalah betul .

Semak sambungan network untuk memastikan localhost boleh mengakses Internet.

Contoh Penggunaan

Ya, berikut ialah contoh kod yang menggunakan perpustakaan urllib3 untuk mengakses URL dan mengendalikan pengecualian NameResolutionError:

import urllib3

Http = urllib3.PoolManager()

try:
response = http.request('GET', 'http://example.com')
print(response.data)
except urllib3.exceptions.NewConnectionError as e:
print("Name resolution error: ", e)
Salin selepas log masuk

Dalam contoh ini, kami menggunakan kaedah PoolManager() pustaka urllib3 untuk mencipta kumpulan sambungan HTTP, dan kemudian menggunakan kaedah request() untuk membuat permintaan GET. Jika pengecualian NameResolutionError berlaku, ia akan ditangkap dan maklumat ralat dicetak.

Nota: Apabila menggunakan http.request(), jika url yang dimasukkan tidak betul atau tidak boleh diakses, ralat seperti MaxRetryError dan NewConnectionError akan dibuang dan perlu dikendalikan dengan sewajarnya.

Atas ialah kandungan terperinci Mengapa NameResolutionError(self.host, self, e) daripada e dan cara menyelesaikannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan