Facebook API をサポートする Rails 卒業生アプリケーションを実装しています。要件の 1 つは、アプリケーションから Facebook ウォールに直接メッセージを投稿することです。すべて正常に動作しているように見えますが、修正できない問題が 1 つあります。大学で働いているときに、「ターゲットマシンがアクティブに拒否したため、接続できませんでした」というエラーが表示されました。これは、私が大学のプロキシの背後にいるためです。私はいくつかのグーグルを行い、コードをいくつか変更しようとしましたが、それでも同じメッセージが表示されました。
これを機能させる唯一の方法は非常にハックです。http.rb クラスのメソッド シグネチャを
def HTTP.new(アドレス、ポート = nil、p_addr = nil、p_port = nil、p_user = nil、p_pass = nil) h = Proxy(p_addr, p_port, p_user, p_pass).newobj(アドレス, ポート) h.instance_eval { @newimpl = ::Net::HTTP.version_1_2? } 時間 終わり
に
def HTTP.new(アドレス、ポート = nil、p_addr = nil、p_port = nil、p_user = nil、p_pass = nil) h = Proxy("proxy.uni.ac.uk", 8080, p_user, p_pass).newobj(アドレス, ポート) h.instance_eval { @newimpl = ::Net::HTTP.version_1_2? } 時間 終わり
デフォルトのhttp.rbを使用したときに取得したスタックトレースは
c:/ruby/lib/ruby/1.8/net/http.rb:565:in `initialize' c:/ruby/lib/ruby/1.8/net/http.rb:565:in `open' c:/ruby/lib/ruby/1.8/net/http.rb:565:in `connect' c:/ruby/lib/ruby/1.8/timeout.rb:48:in `timeout' c:/ruby/lib/ruby/1.8/timeout.rb:76:in `timeout' c:/ruby/lib/ruby/1.8/net/http.rb:565:in `connect' c:/ruby/lib/ruby/1.8/net/http.rb:558:in `do_start' c:/ruby/lib/ruby/1.8/net/http.rb:547: in `start' c:/ruby/lib/ruby/1.8/net/http.rb:404:`post_form' 内 c:/ruby/lib/ruby/gems/1.8/gems/facebooker-1.0.54/lib/facebooker/service/net_http_service.rb:4:`post_form' 内 c:/ruby/lib/ruby/gems/1.8/gems/facebooker-1.0.54/lib/facebooker/service.rb:78:`post_form' 内 c:/ruby/lib/ruby/gems/1.8/gems/facebooker-1.0.54/lib/facebooker/service.rb:66:「投稿」 c:/ruby/lib/ruby/gems/1.8/gems/facebooker-1.0.54/lib/facebooker/session.rb:610:in `post_without_logging' c:/ruby/lib/ruby/gems/1.8/gems/facebooker-1.0.54/lib/facebooker/session.rb:621:「投稿」 c:/ruby/lib/ruby/gems/1.8/gems/facebooker-1.0.54/lib/facebooker/logging.rb:20:in `log_fb_api' c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.4/lib/active_support/core_ext/benchmark.rb:10:「リアルタイム」で c:/ruby/lib/ruby/gems/1.8/gems/facebooker-1.0.54/lib/facebooker/logging.rb:20:in `log_fb_api' c:/ruby/lib/ruby/gems/1.8/gems/facebooker-1.0.54/lib/facebooker/session.rb:620:`post' 内
どうすればこれを機能させることができますか?