«前の日記(2003-07-28(Mon)) 最新 次の日記(2003-07-30(Wed))» 編集

これ日記なん?


2003-07-29(Tue) 23:30 - [長年日記]

_ Webからデータをぶっこぬけ

というわけで、1)Webの検索サービスにしかデータがない2)独自のログオンはあるわフレーム使いまくりだわですごく使いにくい。みるからに自動化しにくそう3)でもデータを早急にあつめなきゃなんない...

やむを得ずプログラムでなんとかしてみることにした。

_ webunit with test/unit

最初に実行したのがこれ。でも帰してくるHTMLがおかしかったり、assert_equalがなぜか使えなかったり、test/unitっていうかwebunitの使い方がいまいちわかんなかったりであきらめた。webunit使いこなせるようになりてー。

_ ASR with IE

次に試したのがこれ。IEをオブジェクトとして使う時のリファレンスがちゃんとしたのが見つからないがトライ&エラーでなんとかログインは突破した。ところがFRAMEの取り扱いがわからず断念。document.all で FRAMEとかtagが取れるのはわかったが、各フレーム内のHTMLにアクセスできなきゃいけないのに指定の仕方がわけわか。

_ webrick de Programable HTTP-Proxy

結果、こうなった。htproxy.rbをぱくってきて、responseを標準出力に吐き出す部分を減らしたりした。検索自体は手動になるけど、逆にサーバ管理者からも文句いわれないですむかも。自動じゃないし。

_ webrickのhttpproxyサーバでさらにhttpproxyにつなぎたい。

webrickでhttpproxyを書いたとき、その先にProxyがたってる場合って指定する方法あります?こんな感じ。

 ブラウザ -> proxy by webrick -> proxyserver -> internet

_ よくわかんなかったのでこうした。

require 'webrick/webrick'
...
module WEBrick
  class HTTPProxyServer
    def proxy_service <- site_ruby/1.6/webrick/httpproxy.rbからメソッドをコピー。
      ...
      begin
        http = Net::HTTP.new(uri.host, uri.port, 'プロキシサーバIP', 'プロキシサーバport')
        ...
      end
    end
  end
end
...

_ これでも動くのは動くけど...もっとスマートに解決できんもんか。もしかして新しいのならできるとか?それか別のメソッドがあるとか?

本日のツッコミ(全1件) [ツッコミを入れる]
_ gotoyuzo (2003-07-30(Wed) 18:05)

Ruby-1.8に添付のWEBrickでは、<br> :ProxyURI => URI::parse("http://user:pass@proxy.example.com")<br>と指定できます。バグを見付けるなら今!(ぉ