背景
在内网环境运行 Python 代码时,涉及下载模型(如从百度 BaiduBOS 等服务器)可能会遇到网络错误,常见报错如下:
text
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='bj.bcebos.com', port=443): Max retries exceeded with url
解决办法
可以通过配置系统环境变量或在使用 requests 库时指定代理参数来解决此问题。
方法一:设置环境变量
在代码开头添加以下两行,使全局请求走代理:
import os
os.environ["HTTP_PROXY"] = "http://xxxx:[email protected]:8080"
os.environ["HTTPS_PROXY"] = "http://xxxx:[email protected]:8080"
方法二:Requests 库配置代理
在使用 requests 发起请求时,直接传入 proxies 字典:
import requests
proxies = {
"http": "http://xxxx:[email protected]:8080",
"https": "http://xxxx:[email protected]:8080"
}
try:
# 测试能否连接模型服务器
response = requests.get("https://bj.bcebos.com", proxies=proxies, timeout=3000)
print("代理连接成功,状态码:", response.status_code)
except Exception as e:
print("代理连接失败:", e)
实际应用示例
结合上述代理配置,使用 PaddleNLP 进行文本纠错任务:
import os
from paddlenlp import Taskflow
# 设置代理环境变量
os.environ["HTTP_PROXY"] = "http://xxxx:[email protected]:8080"
os.environ["HTTPS_PROXY"] = "http://xxxx:[email protected]:8080"
corrector = Taskflow("text_correction", timeout=3000)
result = corrector("今天天气真很好")
print(result)
注意:请将示例中的
xxxx和proxy.cc.com:8080替换为实际的内网代理地址及认证信息。

