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

Ruby on Rails中使用URI.open时如何配置代理

方法1:直接在URI.open参数中指定代理

这是最灵活的配置方式,直接把代理地址作为proxy参数传入即可,适配你现有代码的示例如下:

require 'open-uri'
require 'nokogiri'

url = 'https://www.google.com/' # 示例目标地址
# 代理格式通用规则:http://[用户名:密码@]代理IP/域名:端口
proxy_addr = 'http://127.0.0.1:7890' # 替换为你实际的代理地址

doc = Nokogiri::HTML(URI.open(url, proxy: proxy_addr))

# 后续的页面解析逻辑

如果你的代理需要身份认证,直接把账号密码拼接在代理地址前缀即可,示例:http://myuser:mypass@127.0.0.1:7890

方法2:通过系统环境变量配置代理

如果不想在代码里硬编码代理地址,open-uri支持自动读取系统的代理环境变量,无需修改代码即可生效:

  • Linux/macOS终端启动Ruby进程前执行:export http_proxy=http://127.0.0.1:7890 && export https_proxy=http://127.0.0.1:7890
  • Windows cmd启动Ruby进程前执行:set http_proxy=http://127.0.0.1:7890 && set https_proxy=http://127.0.0.1:7890

配置完成后直接调用URI.open(url)就会自动走代理,不需要额外传参。

补充说明

  • 如果某一次请求需要强制不走代理,把proxy参数设为nil即可:URI.open(url, proxy: nil)
  • 代理地址要和目标站点协议匹配,访问HTTPS站点时优先使用支持HTTPS流量转发的代理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:24:03