擅长:python、mysql、java
<p>[更新:这一行关于python2/python3不再有效,因为问题已经更新]</p>
<p>首先,您似乎使用了python2。这一点很重要,因为urllib模块在python3中被拆分为多个部分并重命名。在</p>
<p>其次,您的代码片段似乎不正确:build\u opener不是urllib可用的函数。它可用于urllib2。在</p>
<p>因此,我假设您的代码实际上是以下代码:</p>
<pre><code>import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent',
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36")]
url = opener.open("http://www.dslreports.com/whatismyip", timeout=3)
</code></pre>
<p>如果您的DNS解析程序正确地处理IPv6资源记录,并且您的操作系统是使用双堆栈IPv4/IPv6或单IPv6纯堆栈构建的,并且您的IPv6网络路径正确到dslreports.com网站,此Python程序将使用IPv6连接到www.dslreports.com。因此,不需要说服python执行IPv6请求。在</p>