ホームページ > バックエンド開発 > Python チュートリアル > e からの NameResolutionError(self.host, self, e) の理由とその解決方法

e からの NameResolutionError(self.host, self, e) の理由とその解決方法

WBOY
リリース: 2024-03-01 13:20:03
転載
1017 人が閲覧しました

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

エラーの理由

NameResolutionError(self.host, self, e) from e は、urllib3 の例外タイプです。このエラーの原因は、DNS 解決の失敗です。つまり、解決しようとしたホスト名または IP アドレスが見つかりませんでした。これは、入力された URL アドレスが間違っているか、DNSserver が一時的に利用できないことが原因である可能性があります。

#解決方法

このエラーを解決するにはいくつかの方法があります:

入力された URL アドレスが正しいかどうかを確認し、アクセス可能であることを確認してください

DNS サーバーが利用可能であることを確認してください。コマンド ラインで「ping」コマンドを使用して、

DNS サーバーが利用可能かどうかをテスト してみてください。

代わりに IP アドレスを使用してみてください。 Web サイトにアクセスするためのホスト名

プロキシ環境にいる場合は、プロキシ設定が正しいかどうかを確認してください。

ネットワーク接続をチェックして、ローカルホストがインターネットにアクセスできることを確認します。

使用例

はい、次は urllib3 ライブラリを使用して URL にアクセスし、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)
ログイン後にコピー

この例では、urllib3 ライブラリの PoolManager() メソッドを使用して HTTP 接続プールを作成し、request() メソッドを使用して GET リクエストを発行します。 NameResolutionError 例外が発生すると、それが捕捉され、エラー情報が出力されます。

注: http.request() を使用する場合、入力された URL が正しくない場合やアクセスできない場合は、MaxRetryError や NewConnectionError などのエラーがスローされるため、対応する処理が必要です。

以上がe からの NameResolutionError(self.host, self, e) の理由とその解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:lsjlt.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート