10行で書くProxyサーバ越えのRubyプログラム

Proxyサーバを経由してあるサーバにリクエストを送りたい場合、のプログラムを書いてみた。

require 'net/http'

proxy_host = "#{プロキシサーバのドメイン}"
proxy_port = "8080" #たいてい8080ポート
host = "#{接続先ドメイン}"
path = "#{アクセスしたいファイル}"

Net::HTTP.version_1_2
puts Net::HTTP.Proxy(proxy_host, proxy_port).start(host){ |http| http.get(path).body }

ちなみにProxyサーバにログイン認証が掛かっている場合はこちら↓。

require 'net/http'

proxy_host = "#{プロキシサーバのドメイン}"
proxy_port = "8080"
proxy_user = "#{ユーザ名}"
proxy_passwd = "#{パスワード}"
host = "#{接続先ドメイン}"
path = "#{アクセスしたいファイル}"

Net::HTTP.version_1_2
puts Net::HTTP.Proxy(proxy_host, proxy_port, proxy_user, proxy_passwd).start(host){ |http| http.get(path).body }


11行になっちゃうけど、上のと平均すると10行だからイイかw

ちなみにgetした内容に日本語が含まれると文字エンコードする必要があります。


(注)パスワードが平文で流れることに対する危険性を十分認識して、ご利用は自己責任で。