python - 调用 API 时 urllib2 出现 URL 错误

标签 python urllib2

我一直在调用一个 api (Yelp) 并使用它来运行多个位置的“搜索”功能。有时效果很好,有时,它会返回一个令我感到困惑的错误。我在看很多地方,所以我一直在限制它,看看数量是否有问题(似乎不是这样。) 我在 5 个位置运行搜索。它有效,但如果我再次运行它,我会收到错误消息。然后我在 3 个位置运行它,它不起作用。然后我在 4 上运行它,它恰好可以工作。我再试一次,它不会工作。我觉得我的电脑在和我玩游戏。这是我不断收到的错误:

(一些关于最近通话的代码)

 File "C:\Python27\lib\urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 1240, in https_open
    context=self._context)
  File "C:\Python27\lib\urllib2.py", line 1197, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:590)>

这是怎么回事??!!

最佳答案

您没有发布您的 python 版本或任何其他版本信息或进行任何网络跟踪。但是,我之前在旧的 python 版本中看到过类似的问题,它发送与 SSLv2 兼容的 ClientHello 消息,Yelp API 服务器可能不再支持该消息。如果您运行的是 2.7.10 之前的 python 版本,我怀疑很可能是这种情况。

此处提供了有关 python SSL 模块更改的更多信息: https://fossies.org/diffs/Python/2.7.9_vs_2.7.10/Doc/library/ssl.rst-diff.html

关于python - 调用 API 时 urllib2 出现 URL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34504435/

相关文章:

python - 从字符串中提取完整的国家/地区名称并将其作为数据框列

python - 如何修复 "ValueError: not enough values to unpack (expected 2, got 1)"

python - 更改 FITS 文件 header 中的关键字值

python - 这个函数在 Python 中涉及 urllib2 和 BeautifulSoup 做什么?

python - 带有 https 和 http 身份验证的 pywikipedia bot

python - 寻找主要因素的差异

python - 输入预测/估计给定变量趋势所需的数据

python - 登录时从 url 检索数据

php - 使用 Beautiful Soup、urllib2 和 Python 抓取 PHP 变量

Python URLLib/URLLib2 POST