vine-users ML アーカイブ



[vine-users:062586] DeleGate でのリクエストヘッ ダ情報取得(少し長文)

  • From: "M,Kondo" <echo@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:062586] DeleGate でのリクエストヘッ ダ情報取得(少し長文)
  • Date: Mon, 13 Oct 2003 16:45:18 +0900
いつもお世話になっています。近藤です。

Vineとは直接関係が無い事なのでどうしようか迷ったのですが・・・
どなたかDeleGateのフィルタ機能についてお教えください。

現在、Vine Linux 2.6r1でDeleGate8.7.3を使用してクライアントの
アクセスログを取ろうとしています。必要な情報は、クライアントの
IPアドレスとアクセスしたHTTPサーバのURIです。

で、CFIファイルに以下のような記述をして
#!cfi
Header-Filter:"/root/ftst/fromCL"
--

#delegated -P8181 SERVER=http FFROMCL=/root/fromCL.cfi
として起動しています。WindowsマシンからProxyの設定を
行い、正常にページは表示されているのですが/root/ftst/fromCL
(リクエスト行を取り込む処理)が起動されていないようです。

→下記該当処理は、起動されると出力用ファイルをオープンするのですが
ファイルが作成されません。何か勘違いをしているとは思っているの
ですが原因がわかりません。
(まだ、テスト用なのでエラー処理等は入れてありません)

int main( )
{
    char buf[BUF_SIZ] ;
    char uri[BUF_SIZ] ;

    std::ofstream otf( "/root/fromCL.txt", std::ios::app|std::ios::out ) ;
    

    memset( uri, '\0', sizeof uri ) ;
    while( std::cin.getline( buf, sizeof buf)){
        if( uri[0] == '\0' && isMethod(buf)){
            getURI( otf, uri, buf ) ;
        }
        std::cout << buf << std::endl ;
        otf << buf << std::endl ;
    }
    return 0 ;
}


お分かりになられる方がいらっしゃるようでしたらご教授ください。

該当部分のログは、以下のようになっています。

10/13 15:53:15.77 [1826] 1+1: ## CFI/http ##
10/13 15:53:15.77 [1826] 1+1: systemFilter[1,0]: "/root/ftst/fromCL"
10/13 15:53:15.79 [1826] 1+1: >>start-line: GET http://www.parashift.com/c++-faq-lite/ HTTP/1.0^M
10/13 15:53:15.80 [1824] 1+1: = (1061224244) If-Modified-Since: Mon, 18 Aug 2003 16:30:44 GMT; length=13591^M
10/13 15:53:15.80 [1824] 1+1: Proxy: host=192.168.0.9; User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705); DIRECT
10/13 15:53:15.80 [1824] 1+1: HCKA:[0] Keep-Alive; host=192.168.0.9; (User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705))
10/13 15:53:15.80 [1824] 1+1: REQUEST - GET http://www.parashift.com/c++-faq-lite/ HTTP/1.0^M
10/13 15:53:15.80 [1824] 1+1: PATH> http://www.parashift.com:80!192.168.0.222:8181!192.168.0.9:1403!anonymous@xxxxxxxxxxx;1066027995
10/13 15:53:15.80 [1824] 1+1: REQUEST = (no-cache)[http://www.parashift.com:80/] GET /c++-faq-lite/ HTTP/1.0^M
10/13 15:53:15.80 [1824] 1+1: DeleGated is Modified after the data: 1066027986 > 1061224244
10/13 15:53:15.99 [1824] 1+1: ConnectToServer connected [14] {64.143.137.80:80 <- 192.168.0.222:32926} [0.189s]
10/13 15:53:15.99 [1824] 1+1: HTTP => (www.parashift.com:80) GET /c++-faq-lite/ HTTP/1.0^M
10/13 15:53:15.99 [1824] 1+1: #HT11 FORCE HTTP/1.1 or Connection:keep-alive
10/13 15:53:16.25 [1824] 1+1: HTTP status: 304 Not Modified => 0/0

以上、よろしくお願いします。


p.s.
  「なんでrootで作業しているか?」という突っ込みはご容赦 ^^;;
  クライアントのIPアドレス(上記192.168.0.9)または
ホスト名の所得の仕方もご存知でしたらお教えください。


/***************************
        Masahiro Kondo
     echo@xxxxxxxxxxxxxxx
***************************/