2

在 python 中执行 urlopen 的方法是什么,即使底层机器启用了 ipv6 网络,请求也是通过 ipv4 而不是 ipv6 发送的?

4

1 回答 1

1

我查看了源代码。不幸的是,urllib.urlopen()似乎使用httplib.HTTP(),它甚至不允许设置源地址。

urllib2.urlopen()httplib.HTTPConnection()您可以从中继承并创建一个类的用途,该类默认设置源地址'0.0.0.0'而不是''. 然后你可以urllib2通过创建一个“新” HTTPHandler()(看看它是如何完成的urllib2.py)和你build_opener()和/或install_opener().

对不起,不是很准确,但我从来没有做过这样的事情,也不知道它是如何工作的。

于 2012-06-27T17:03:37.353 回答