0

基本的な Squid サーバーのセットアップがあり、Ruby の Net::HTTP::Proxy クラスを使用して、指定された HTTP エンドポイントにフォーム データの POST を送信しようとしています。

私は次のことができると仮定しました:

  Net::HTTP::Proxy(my_host, my_port).start(url.host) do |h|
    req = Net::HTTP::Post.new(url.path)
    req.form_data = { "xml" => xml }
    h.request(req)
  end

しかし、残念ながら、プロキシと非プロキシの Net::HTTP クラスはプロキシ IP アドレスを使用していないようです。リモート サービスが応答して、間違った IP アドレス (つまり、プロキシではない) からリクエストを受信したことが通知されます。プロキシ経由でフォーム投稿を正常に送信できるように、手順を記述する特定の方法を探しています。ヘルプ?:)

4

2 に答える 2

0

Perl の WWW::Mechanize に基づいた mechanize gem も参照してください。それが Perl のもののようなものであれば (そして私はそう信じさせられます)、あなたが扱っている一般的な混乱の多くをカプセル化します。

ルビー: http://mechanize.rubyforge.org/

Perl: http://search.cpan.org/dist/WWW-Mechanize/

于 2011-01-03T22:18:17.837 に答える
0

はは、それが正しい方法であることが判明しました。私の問題は、実際にはSquidとプッシュ先のAPIにありました。この問題に関連する興味深いヒントです。Squid プロキシ サーバーでプロキシしている場合は、おそらく次のサーバー構成オプションを追加することをお勧めします。

header_access X-Forwarded-For deny all

これにより、プロキシは、HTTP エンドポイントに関する限り、呼び出し元の IP アドレスとの関係を完全に無視するようになります。

于 2010-05-26T20:34:59.900 に答える