1. ホーム
  2. python

ノード名やサービス名が提供されていない、あるいは不明である。

2022-02-12 08:18:12


著者 城至 
元記事: https://blog.csdn.net/qq_21514303/article/details/81391427 


このエラーはalipayのsdkを実行したときに報告されます。私たちはモンキーパッチを用意しており、標準ライブラリを置き換えるだけです。

詳細はこちらに転載しています。

パイソン2.7

イベント

gevent concurrency を使って http リクエストを起動する。

python独自のDNS標準ライブラリを使って

しばしばエラーが発生する

[Errno 8] nodenameまたはservnameが提供されないか、わからない。

いくつかの記事を確認したところ、DNSの解決は激しい並行処理の下で問題がある可能性があります。

回避策 python の DNS 解決標準ライブラリを使用する代わりに、標準ライブラリを置き換える gevent の組み込み DNS 解決モジュールを使用します。

(以下の patch_all() は、gevent が標準ライブラリのセットを置き換えてくれるときに実装される予定です)。


from gevent import monkey

monkey.patch_all()

この時点で、[Errno 8] nodename nor servname provided, or not known問題は、DNSが最初に解決するときに一度だけ発生します。