python - 使用 urllib.request.urlopen() 时为 "HTTP Error 409: Conflict"

标签 python http proxy python-3.x

在 Python 3.1 下,尝试运行此代码时:

from urllib import request

def test():
    request.urlopen("http://www.google.com")

test()

我收到 HTTP 409 错误。堆栈跟踪是:

Traceback (most recent call last):
  File "C:\Users\Beau\Python\pokescrape.py", line 6, in <module>
    test()
  File "C:\Users\Beau\Python\pokescrape.py", line 4, in test
    request.urlopen("http://www.google.com")
  File "C:\Program Files\Python\lib\urllib\request.py", line 119, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Program Files\Python\lib\urllib\request.py", line 353, in open
    response = meth(req, response)
  File "C:\Program Files\Python\lib\urllib\request.py", line 465, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Program Files\Python\lib\urllib\request.py", line 385, in error
    result = self._call_chain(*args)
  File "C:\Program Files\Python\lib\urllib\request.py", line 325, in _call_chain
    result = func(*args)
  File "C:\Program Files\Python\lib\urllib\request.py", line 560, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "C:\Program Files\Python\lib\urllib\request.py", line 353, in open
    response = meth(req, response)
  File "C:\Program Files\Python\lib\urllib\request.py", line 465, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Program Files\Python\lib\urllib\request.py", line 391, in error
    return self._call_chain(*args)
  File "C:\Program Files\Python\lib\urllib\request.py", line 325, in _call_chain
    result = func(*args)
  File "C:\Program Files\Python\lib\urllib\request.py", line 473, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)

打印出来的实际错误是:

urllib.error.HTTPError: HTTP Error 409: Conflict

我通过配置脚本设置了代理;我没有遇到过有关互联网连接的问题。

到底为什么我会收到 HTTP 409 错误?

最佳答案

我也遇到了这个问题(也来自兰开斯特,碰巧),发现如果我设置环境变量 http_proxy,Python 就会使用它。在本例中(在 Windows 上)它将是:

set http_proxy=http://wwwcache.lancs.ac.uk:8080

在 *nix 上:

export http_proxy=http://wwwcache.lancs.ac.uk:8080/

编辑:感谢 Beau Martínez 修复了 *nix。

关于python - 使用 urllib.request.urlopen() 时为 "HTTP Error 409: Conflict",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2247418/

相关文章:

http - 条纹 1.5 : running on Tomcat - best way to control HTTP (cache-control) headers?

java - 注入(inject)枚举作为依赖项失败并出现 IllegalArgumentException,可能是由于代理所致

proxy - Dante Socks5 代理服务器未启动

python - 选择 pandas 数据框中仅包含给定字符串的行(具有多个字符串)

html - 是否存在省略 http ://or https://will fail to work in certain browsers? 中的协议(protocol)的情况

apache - Vagrant 的端口转发不起作用

sql-server - 通过代理服务器连接到 Azure 上的 SQL Server 数据库

python - 调整图像大小以保持纵横比并使纵向和横向图像大小完全相同?

python - 一个接一个地执行多个条件,同时向用户显示哪个条件是第一个失败的Pythonic方法是什么

python - 如何避免大写首字母缩略词被.capitalize() 小写? Python