Article freyasx/92 of [1-99] on the server localhost:7119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A88@freyasx.ML_>]
Newsgroups: mail-lists.freyasx

[FreyaSX] Re: FreyaSX action=URL
17 Aug 2006 13:26:17 GMT ysato@delegate.org (Yutaka Sato)
The DeleGate Project

In message <_A88@freyasx.ML_> on 08/17/06(18:41:46) I wrote:
 | |	それと、数台の機器に跨って href で Link しているような部分もあ
 | |り、範囲を限定して、その先までデータを取りたいのです。
 | |REACHABLE="*.domain" みたいな設定は可能でしょうか。その場合、どこに、
 | |どのように書くのが正しい作法でしょうか。
 |
 |any2fdif で、指定されたURLの下位から外へのリンクをたどるオプションと
 |しては、実験的に、ホップ数を指定する -hN というのがあり、たとえば -h1
 |とすると、一段階たどります。でも、非常に実験的なもので、自分では
 |実用には使っていません。

少し試してみたところ、

  any2fdif idx -h100 -r URL

みたいな感じで、多段のホップをイケルような感じです。
REACHABLEをany2fdif自身で検査する機能は無効にされていますが、any2fdifを
プロキシ経由にして、そちらでアクセス制限を行うことはできます。

  delegated -P9999 SERVER=http REACHABLE="*.domain"
  delegated CONNECT=proxy PROXY=localhost:9999 -Fany2fdif idx -h100 -r URL

これだと、プロキシ側でキャッシュしたりとかもできるメリットがあります。
とはいえ、面倒なので、同封のようなパッチをあてて、

  delegated REACHABLE="*.domain" -Fany2fdif idx -h100 -r URL

のようにも、できるようにしてみました。ちょっと試してみたところでは、
うまく行くようです。


もちろん、収集対象の制限は自分自身でやって、キャッシュや中継をプロキシに
任せることもできます。

  delegated CONNECT=proxy PROXY=host:port REACHABLE="*.domain" \
            -Fany2fdif idx -h100 -r URL

みたいに。

                   9 9  
┌─┐┬┌──┬┐ //\^^ ( ~ ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_<   >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)


*** ../arc/delegate9.2.4-pre17/src/service.c	Mon Aug 14 21:45:15 2006
--- src/service.c	Thu Aug 17 22:06:44 2006
***************
*** 295,301 ****
--- 295,310 ----
  	int sport;
  
  	if( Conn->from_myself )
+ 	{
+ 		if( lISFUNC() ){ /* maybe any2fdif */
+ 			bzero(Client_VAddr,sizeof(VAddr));
+ 			Client_Port = 1;
+ 			strcpy(Client_Host,"_self_");
+ 			VA_setClientAddr(Conn,"0.0.0.0",1,0);
+ 		}else{
  		return 1;
+ 		}
+ 	}
  
  	clsock = ClientSock;
  	sport = getClientHostPort(Conn,AVStr(shost));

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V