0

SIP ヘッダー (ABNF 形式の文法) を解析し、ヘッダー文字列が正しいかどうかを確認する必要があります。

(例: "Accept: application/sdp,application/3gpp-imp+​​xml" のような文字列をチェックして、テストケースの合格/不合格を提供します)。

現在、私は perl Parse::ABNFを使用しようとしています。現在、このコンテキストでのサンプルの使用法を理解できません。

4

2 に答える 2

1

私のParse::ABNFモジュールは ABNF 文法を読み取り、文法の規則にアクセスできるようにします。floating-point-number「ルールはルールを参照しています」などのことを伝えますがdigit、浮動小数点数のパーサーは生成しません。Parse::RecDescentこのモジュールを使用して、適切な ABNF 文法をや などのパーサー ジェネレーターで使用できる形式に変換できますMarpa2。このような変換のサンプル スクリプトは、配布物に含まれていeg/abnf2xlx.plます。ただし、リンク先のページの文法は、 が期待する標準に準拠した形式ではないことに注意してくださいParse::ABNF

于 2014-02-21T15:12:32.523 に答える
0

このモジュールは次のように使用できます。

  use Parse::ABNF;
  use Test::More;
  use Data::Dumper;
  my $parser = Parse::ABNF->new;
  my $rules = $parser->parse($sip_message);
  ok(defined $rules,'The SIP messgae is parseable') or diag(Dumper($sip_message));

ヘッダーだけを解析する簡単な方法:

  use Test::More;
  use Data::Dumper;
  ok($sip_message =~ m!Accept: application/sdp,application/3gpp-imp+xml!,'The SIP header looks found') or diag(Dumper($sip_message));
于 2014-02-21T09:23:40.413 に答える