У меня есть простой скрипт Ruby (Ruby 2.0), который я хочу запустить на Mac OSX Yosemite, и я хочу проксировать сетевые запросы через Charles Proxy.
require 'json'
require 'net/http'
require 'net/https'
class Charles
def go
uri = URI.parse('http://example.com')
req = Net::HTTP::Get.new(uri.request_uri)
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = false
res = http.request req
puts res
puts res.body
end
end
net = Charles.new
net.go
Если я выполняю этот скрипт, все в порядке, но я не вижу запроса в Чарльзе.
Как только я устанавливаю http-прокси через командную строку, ошибки скрипта:
export http_proxy=192.168.1.108:8888
/Users/hug/.rvm/rubies/ruby-2.0.0-p643/lib/ruby/2.0.0/uri/common.rb:176:in `split': неверный URI (это не URI?): 192.168. 1.108:8888 (URI::InvalidURIError)
После я
unset http_proxy
он снова работает. я тоже пробовал
export http_proxy=locahost:8888
export http_proxy=machinename.local:8888
Все эти способы установки прокси отлично работают для curl, но не для Ruby.
Что я делаю не так?