2014-03-06 51 views
2

我有一个Ruby脚本,该数据发布到URL:代理的Ruby HTTP流量

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 

我怎么能告诉红宝石或我Terminal.app使用查尔斯代理在http://localhost:88888

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

+0

出口HTTP_PROXY =本地主机: 88888 – Timmah

+0

@Timmah即使艰难,这也许奏效,我试过这个,但当我这样做时,我没有看到Charles的任何交通。 – Besi

+0

所以你试着'export http_proxy = localhost:88888 && ruby​​ MyScript.rb'? – Timmah

回答

2

设置代理为timmah建议应该工作。

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

所以,正确的命令是:

export http_proxy=localhost:8888 
ruby MyScript.rb 

如果你的脚本是使用https://你也/,而不是需要指定,像这样一个HTTPS代理:

export https_proxy=localhost:8888 
+0

改为连接到http://localhost.charlesproxy.com/。这是官方的做法。 https://www.charlesproxy.com/documentation/faqs/localhost-traffic-doesnt-appear-in-charles/ –