对于使用 httr 的 R 操作,用 use_proxy 构建其代理配置,并将其应用到要运行的表达式:

route <- httr::use_proxy('proxy.example', 8080)
result <- httr::with_config(route, {
  httr::GET('https://www.example.com/')
})

对于代理账户,use_proxy 还接受 username、password 和 auth 参数。需要时从应用程序现有的凭据配置中提供这些参数。

当某个库确实通过 httr 发出请求时,表达式可以包含该库更高层的调用。基于 RCurl 或其他 HTTP 客户端的库有自己的配置接口;在决定传入哪个对象之前,先确认该后端。

with_config 默认将提供的配置与现有 httr 设置合并。对于允许的公共 URL 测试,只有当合并后的设置不含代理凭据时,HTTP 代理列表中的地址才能填充 use_proxy 的 host 和 port。其 override 参数决定是否改为对该表达式忽略现有设置。

这是针对所选代码的配置作用域。set_config 是更改 httr 更广泛默认配置的接口,因此当代理只应伴随一次操作时,请使用该包装器。

相关文章