There comes a time when you want to Proxy your Net/HTTP request/response in Ruby.
One of the easy ways to do this in NET/HTTP is by passing proxy parameters in '.new' method (during initialization)
Obviously, this works but then querying the website using GET or GET BY URI method there is no provision to pass any proxy parameters altogether(at least that's what I found out.)
Thankfully Ruby-2.0+ (not available in lower versions though, can be seen over here) has a feature with which you can provide proxy as your ENV variable (
So, upon setting http_proxy in ENV I found, BAAM!!! it worked and it worked globally (i.e it works even on GET and GET BY URL methods mentioned above.)
BTW, I had the following declaration inside my .bash_profile.
One of the easy ways to do this in NET/HTTP is by passing proxy parameters in '.new' method (during initialization)
proxy_addr = 'your.proxy.host' proxy_port = 8080 Net::HTTP.new('example.com', nil, proxy_addr, proxy_port).start { |http| # always proxy via your.proxy.addr:8080 }
Obviously, this works but then querying the website using GET or GET BY URI method there is no provision to pass any proxy parameters altogether(at least that's what I found out.)
Thankfully Ruby-2.0+ (not available in lower versions though, can be seen over here) has a feature with which you can provide proxy as your ENV variable (
http_proxy
environment variable) and ruby take care of the rest.So, upon setting http_proxy in ENV I found, BAAM!!! it worked and it worked globally (i.e it works even on GET and GET BY URL methods mentioned above.)
BTW, I had the following declaration inside my .bash_profile.
Thanks
No comments:
Post a Comment