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

R语言爬虫报错:Could not resolve proxy: myproxy.server.com 如何解决?

解决R爬虫代理解析错误的方案

你的爬虫代码之前能正常运行,现在碰到了Could not resolve proxy: myproxy.server.com的错误,这大概率是代理配置变动或者当前网络环境不再需要代理导致的,下面是一步步的解决思路:

第一步:先确认当前R的代理设置

先看看R当前继承的代理环境变量有哪些,运行这段代码:

Sys.getenv(c("http_proxy", "https_proxy", "HTTP_PROXY", "HTTPS_PROXY"))

如果输出里能看到myproxy.server.com相关内容,说明R正在使用这个代理,但当前网络没法解析它。

第二步:根据你的网络环境调整代理

场景1:当前网络不需要代理(比如从公司内网换到了家用网络)

直接清除这些代理环境变量,再重新跑你的爬虫代码就行:

Sys.unsetenv("http_proxy")
Sys.unsetenv("https_proxy")
Sys.unsetenv("HTTP_PROXY")
Sys.unsetenv("HTTPS_PROXY")

场景2:确实需要代理,但地址有变化

先确认好正确的代理服务器地址(要包含完整的协议,比如http://和端口号),然后设置正确的环境变量:

# 把下面的地址替换成你实际可用的代理
Sys.setenv(http_proxy = "http://correct.proxy.address:port")
Sys.setenv(https_proxy = "http://correct.proxy.address:port")

设置完再尝试运行爬虫代码。

场景3:只想给当前爬虫请求单独配置代理

如果不想修改全局环境变量,可以直接在read_html里指定代理参数,只对这个请求生效:

# 替换成正确的代理地址
hdoc = read_html(url_crawl, proxy = "http://correct.proxy.address:port")

额外排查小技巧

  • 可以在终端/命令行里ping一下代理服务器域名(比如ping myproxy.server.com),如果没法解析,说明这个域名在当前网络下不可用,得找运维确认正确的代理地址。
  • 检查系统的全局代理设置(Windows的「Internet选项」、Mac的「网络」设置),如果系统全局开了代理,R会自动继承,这时候要么调整系统代理,要么在R里覆盖它。

另外你的原始代码里,爬取到的b_node还没处理存入body向量,可以之后补充类似body <- c(body, html_text(b_node))的逻辑,不过当前核心问题是代理配置,解决后代码应该就能恢复正常运行了。

内容的提问来源于stack exchange,提问作者Sang won kim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:14:11