You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中为YOLOv8配置代理以下载远程图片

给YOLOv8添加代理下载远程图片的解决方案

下面提供两种实用方案,帮你实现通过代理下载远程图片并完成YOLOv8推理:

方案1:设置全局代理环境变量

这种方式最简单,通过设置系统环境变量,让所有基于urllib/requests的网络请求自动走代理,无需修改YOLOv8的核心调用逻辑:

import os
from ultralytics import YOLO

# 配置HTTP和HTTPS代理(根据你的代理地址修改)
os.environ['http_proxy'] = 'http://proxy_address:port'
os.environ['https_proxy'] = 'http://proxy_address:port'

# 加载预训练YOLOv8n模型
model = YOLO('yolov8n.pt')

# 远程图片URL
source = 'https://ultralytics.com/images/bus.jpg'

# 执行推理
results = model(source)

方案2:手动代理下载图片再传入YOLO

如果需要更灵活的控制(比如添加超时、重试逻辑),可以手动用代理下载图片,再将图片数据传给YOLO模型:

import requests
from ultralytics import YOLO
from io import BytesIO

# 代理配置
proxy_dict = {
    "http": "http://proxy_address:port",
    "https": "http://proxy_address:port"
}

# 带代理的图片下载函数
def download_image(url, proxies):
    # 可根据需求添加timeout、verify等参数
    resp = requests.get(url, proxies=proxies)
    resp.raise_for_status()  # 捕获下载错误
    return BytesIO(resp.content)

# 加载模型
model = YOLO('yolov8n.pt')

# 远程图片地址
source = 'https://ultralytics.com/images/bus.jpg'

# 下载图片
image_buffer = download_image(source, proxy_dict)

# 执行推理
results = model(image_buffer)

注意事项

  • 确保代理地址和端口正确,且代理服务器允许访问目标图片的URL
  • 若目标是HTTPS链接,必须同时配置https_proxy,否则请求会失败
  • 可先单独用requests.get(source, proxies=proxy_dict)测试代理是否能正常下载图片

内容的提问来源于stack exchange,提问作者Jenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 19:42:32