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した内容に日本語が含まれると文字エンコードする必要があります。
(注)パスワードが平文で流れることに対する危険性を十分認識して、ご利用は自己責任で。