【问题标题】:How to solve this "NotImplementedError" urllib2 / gevent error on windows?如何解决 Windows 上的“NotImplementedError”urllib2 / gevent 错误?
【发布时间】:2011-07-14 04:59:30
【问题描述】:

我正在尝试在 Windows XP 上打开一个带有 gevent 修补的 urllib2 的 url:

from gevent import monkey
monkey.patch_all()
import urllib2

opener = urllib2.build_opener()
request = urllib2.Request("http://www.google.com")
response = opener.open(request)

我在opener.open 通话期间遇到了这个异常:

File "C:\Python26\lib\site-packages\gevent\socket.py", line 768, in getaddrinfo
  sockaddr = (inet_ntop(AF_INET6, res), port, 0, 0)
File "C:\Python26\lib\site-packages\gevent\socket.py", line 133, in inet_ntop
  raise NotImplementedError('inet_ntop() is not available on this platform')
NotImplementedError: inet_ntop() is not available on this platform
<SERPScrapper at 0xbc0f60> failed with NotImplementedError

看gevent socket.py源码好像和windows上的IPV6有关……

有解决这个问题的想法或建议吗?

编辑:我没有得到其他网址的问题(即:http://www.bing.com)。谷歌似乎正在使用 IPV6。有没有办法强制 IPV4 响应?

【问题讨论】:

    标签: python windows urllib2 ipv6 gevent


    【解决方案1】:

    请尝试向http://ipv4.google.com/ 提出请求。

    【讨论】:

      猜你喜欢
      • 2019-08-09
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 2014-07-31
      • 2016-09-23
      • 2016-01-03
      • 1970-01-01
      相关资源
      最近更新 更多