更新时间:2026-09-14 GMT+08:00
分享

启动会话时配置浏览器代理

浏览器代理用于在浏览器会话中配置代理服务器,使浏览器通过指定的代理服务器访问外部网络。该功能适用于以下场景:

  • 企业内网访问:Agent需要通过企业代理服务器访问内部知识库或业务系统。
  • 安全合规要求:租户要求所有浏览器流量必须经过指定的安全代理进行审计和过滤。
  • 网络隔离环境:浏览器沙箱处于隔离网络中,需通过代理访问互联网。

约束与限制

  • 每个会话最多可配置5个代理。
  • 每个代理最多支持100个域名模式。
  • Bypass模式使用操作系统原生代理绕过列表,最多支持配置100条域名、IP地址规则。
  • 仅支持HTTP/HTTPS/SOCKS5三种代理协议。
  • 代理配置在会话创建后不可变,如需修改代理配置,需重新创建会话。

配置方式

浏览器代理在创建会话时配置,创建后不可修改。如需修改代理配置,需终止当前会话并重新创建。

在 browser_session 中通过 proxies 和 bypass_patterns 参数传入代理配置。

from agentarts.sdk.tools import Browser
# 创建浏览器客户端
client = Browser(region="cn-southwest-2", auth_type="API_KEY", verify_ssl=False)
# 配置单个默认代理,并设置 bypass 直连域名
proxy_configuration = {
    "proxies": [
        {
            "server": "proxy.example.com",  # 代理服务器地址
            "port": 8080,                     # 代理服务器端口
            "type": "http"                    # 代理类型:http / https / socks5
        }
    ],
    "bypass": {
        "domain_patterns": ["localhost", "127.0.0.1"]  # 这些域名直连,不走代理
    }
}
# 启动会话并加载代理配置
client.start_session(
    browser_name="your_browser_name",
    session_name="your_session_name",
    api_key="your_api_key",
    proxy_configuration=proxy_configuration
)

配置示例

场景一:单代理配置

企业内网有一个代理服务器,Agent 需要通过该代理访问所有外部网站,但本地地址不走代理。

proxy_configuration = {
    "proxies": [
        {
            "server": "proxy.example.com",  # 代理服务器地址
            "port": 8080,                     # 代理服务器端口
            "type": "http"                    # 代理类型:http / https / socks5
        }
    ],
    "bypass": {
        "domain_patterns": ["localhost", "127.0.0.1"]  # 这些域名直连,不走代理
    }
}

场景二:多代理配置

为不同域名指定不同代理,未命中域名模式的请求走默认代理,同时配置 bypass 直连域名。

# 配置多代理域名路由 + bypass 直连
proxy_configuration = {
    "proxies": [
        {
            "server": "proxy-a.example.com",  # 代理服务器地址
            "port": 8080,                       # 代理服务器端口
            "type": "http",                     # 代理类型
            "domain_patterns": ["example.com", ".example.com"]  # 匹配 example.com 及其子域名
        },
        {
            "server": "proxy-b.example.com",  # 代理服务器地址
            "port": 1080,                       # 代理服务器端口
            "type": "socks5",                   # 代理类型
            "domain_patterns": ["internal.corp", ".internal.corp"]  # 匹配 internal.corp 及其子域名
        },
        {
            "server": "proxy-default.example.com",  # 默认代理(无 domain_patterns)
            "port": 8080,                             # 代理服务器端口
            "type": "http"                            # 代理类型
        }
    ],
    "bypass": {
        "domain_patterns": ["localhost", "127.0.0.1", ".local"]  # 这些域名直连,不走任何代理
    }
}

场景三:需要认证的代理

代理服务器需要用户名密码认证时,通过credential_id引用平台密钥管理服务中预存的凭据。

proxy_configuration = {
    "proxies": [
        {
            "server": "auth-proxy.example.com",  # 代理服务器地址
            "port": 8443,                          # 代理服务器端口
            "type": "https",                       # 代理类型
            "credential_id": "your_credential_id"  # 凭据 ID,引用平台密钥管理服务中的凭据,不明文传递用户名密码
        }
    ],
    "bypass": {
        "domain_patterns": ["localhost", "127.0.0.1"]  # 这些域名直连,不走代理
    }
}

相关文档