[Errno 8] nodename nor servname provided, or not known

python2.7 

gevent 

使用gevent 协程发起http请求

使用python自带的DNS标准库,

经常出现错误

[Errno 8] nodename nor servname provided, or not known

查了一些文章,在大量并发下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解析的时候发生,仅仅会发生一次。

 

你可能感兴趣的:([Errno 8] nodename nor servname provided, or not known)