在RestClient中使用系统代理

时间:2018-02-28 12:55:21

标签: ruby proxy rubygems rest-client

我使用RestClient通过互联网获取页面。此脚本我使用RestClient.proxy = "http://proxy.example.com/"启用了代理。 但我不总是使用代理。因此,我不想在脚本内部手动设置代理,而是希望脚本自动读取系统设置。

GitHub文档声明:

  

代理URL通常在环境变量中设置,因此您可以使用系统配置使用的任何代理:

     

RestClient.proxy = ENV['http_proxy']

我不知道如何检测系统代理是否在此处。虽然它可以检测我正在使用的代理地址我想

  • 我还能具体使用它吗?
  • 另外如何指定代理端口?
  • 以及如何获取系统的代理设置 跟进RestClient.proxy = "http://proxy.example.com/" IF 代理已启用。

3 个答案:

答案 0 :(得分:0)

没有什么神奇之处。

假设

http_proxy由用户或管理员设置,并且可以是http_proxy=http://username:password@proxy.example.org:8080形式,其中凭据和端口都是可选的。

这些都不是从系统中神奇地导入的; * nix系统通常没有“系统代理设置”,我认为您无法获得在网络设置中确定的Windows代理设置。

答案 1 :(得分:0)

restClient.Proxy =新的System.Net.WebProxy(yourProxyServer,yourProxyPort);

答案 2 :(得分:-1)

This回答讲述了如何通过cmd添加代理。也许这可能是有用的。您可以使用system()运行这些命令。您可能不需要在RestClient中专门指定代理。 !UNTESTED!这也有端口选项。 Windows代理和终端代理是不同的。

所以希望你的第2和第3个问题得到解答。