我使用设置代理
import os
proxy = '123.456.11.22:80'
os.environ['http_proxy'] = proxy
os.environ['HTTP_PROXY'] = proxy
os.environ['https_proxy'] = proxy
os.environ['HTTPS_PROXY'] = proxy
有时,我的代理服务器断开(抛出ProxyError),在这种情况下,我需要更改变量“ proxyError”。我使用以下代码:
try:
proxyError = 0
connectFunction()
except ProxyError:
logPrint("Connection lost. Reconnecting...")
proxyError = 1
我无法处理ProxyError,因为python说“ ProxyError”是未知的。我试试这个:
try:
proxyError = 0
connectFunction()
except os.ProxyError:
logPrint("Connection lost. Reconnecting...")
proxyError = 1
这也不起作用。我需要抓住吗?
答案 0 :(得分:1)
ProxyError
只是python中的一个类,并且名称空间规则也适用于它,因此您需要导入ProxyError
或在其所在位置使用它。
在requests
库的requests
库中,例外是在requests.exceptions处创建的
因此,如果您要按以下方式处理异常:
try:
proxyError = 0
connectFunction()
except ProxyError:
logPrint("Connection lost. Reconnecting...")
proxyError = 1
您需要如下导入异常类:
from requests.exceptions import ProxyError
否则,您可以按以下方式处理它:
try:
proxyError = 0
connectFunction()
except requests.exceptions.ProxyError:
logPrint("Connection lost. Reconnecting...")
proxyError = 1