問題:
今天腳本在Linux上執行的時候報錯了。raise URLError(err)
urllib2.URLError: <urlopen error [Errno -2] Name or service not known>

解決:
1.百度、Google后,沒找到完全匹配的解決方法,但是都提到DNS解析,其中一個說是在/etc/resolv.conf中添加 nameserver 8.8.8.8。
但是,我查看/etc/resolv.conf文件,已經是這樣配置了,當時就排除了這個原因。
后來換成用python的第三方庫requests去請求,得到更詳細的信息。

看來是重定向請求到‘d。。.com’這個地址的時候,就報錯的。
然后試着在hosts文件中添加地址對應的ip,然后就能正常請求了。
2.但是,配置、腳本都沒改過,為什么之前沒有修改hosts,都執行得好好的,今天就不行了呢?
帶着這個疑問,又百度了下nameserver,在這篇文章https://blog.csdn.net/u014453898/article/details/62426848中,提到8.8.8.8 這個IP是谷歌公司給出免費的DNS服務器。但由於是外國的,用起來可能會有網速慢的問題。
然后,我把/etc/resolv.conf 中的nameserver 改成用本地的202.96.134.133,去掉之前配置的hosts,同樣也能請求成功。
所以,今天腳本不能正常請求的原因是nameserver的配置問題了,用8.8.8.8是國外的dns服務器,網絡問題無法解析請求的域名。
