2014-03-06 47 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/ –