ruby - Ruby HTTP 流量的代理

标签 ruby macos bash proxy terminal

我有一个 ruby​​ 脚本,它将数据发布到 URL:

require 'httparty'

data = {}
data[:client_id]     = '123123'
data[:key]           = '123321'

url = "http://someserver.com/endpoint/"
response = HTTParty.post(url, :body => data)

现在我正在使用Charles用于嗅探 HTTP 流量。这在浏览器中效果很好,但在我运行脚本的终端上效果不佳:

$ ruby MyScript.rb

如何告诉 ruby​​ 或我的 Terminal.app 使用位于 http://localhost:88888 的 Charles 代理

更新 另一种解决方案是在请求发送之前查看请求。这样我就不一定需要代理。

最佳答案

将代理设置为 timmah建议应该有效。

无论如何88888不是一个有效的端口!我认为您想使用 8888 (Charles 代理默认端口)。

所以正确的命令是:

export http_proxy=localhost:8888
ruby MyScript.rb

如果您的脚本要使用 https://,您还/需要指定 HTTPS 代理,如下所示:

export https_proxy=localhost:8888

关于ruby - Ruby HTTP 流量的代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22236591/

相关文章:

ruby-on-rails - 同一对象上的多个多态关联

ruby-on-rails - Ruby 从父类调用子方法

ruby - fork : Resource temporarily unavailable when calling rvm from a shell script, 但 rvm 本身工作正常

macos - 如何从 Homebrew 水龙头中删除所有内容?

ruby - 我如何使 stdin 成为 tty?

ruby-on-rails - 事件记录 :includes - how to use map with loaded associations?

c# - 没有等同于 CommonCrypto 的 CRC64 实现?

linux - Ubuntu Shell 脚本使用一个 shell 脚本打开两个表并运行两个命令

python - easy_install 和文件权限

linux - 替换 JSON 配置文件中的日期