3

メッセージを Amazon SQS Queue に送信するウェブアプリがあります。メッセージに無効なバイナリ文字が含まれているため、Amazon sqs lib は「AmazonSQSException」をスローします。メッセージは、着信 http 要求から取得されたリファラーです。これは次のようになります。

http://ads.vrx.adbrite.com/adserver/display_iab_ads.php?sid=1220459&title_color=0000FF&text_color=000000&background_color=FFFFFF&border_color=CCCCCC&url_color=008000&newwin=0&zs=3330305f323530&width=300&height=250Funku%2Fun%2Fun%2Fun%2Fun%2.url.2=http://ads.vrx.adbrite.com/adserver/display_iab_ads.php?sid=1220459&title_color=0000FF&text_color=000000&background_color=FFFFFF&border_color=CCCCCC&url_color=008000 2Fsearch.php%2FOi8vZG93%2FbmxvYWRz%2FLnppZGR1%2FLmNvbS9k%2Fb3dubG9h%2FZGZpbGUv%2FNTY5MTQ3%2FNi9NeUN1%2FdGVHaXJs%2FZnJpZW5k%2FWmFoaXJh%2FLndtdi5o%2FdG1s%2Fb0%2F > ^Fô}úÃ<99>ë)j

太字の文字は無効な文字のようです。Amazon で受け入れられない文字を除外する簡単な方法はありますか?

メッセージ本文で Amazon が許可する文字は次のとおりです無効な文字を '' に置き換えるためにどの正規表現を使用すればよいかわかりません

4

1 に答える 1

1

使用しているプログラミング言語によって異なります。たとえば、いくつかのプログラミング言語では、リンク先の Amazon 仕様を「許可された範囲外の 1 つまたは複数の文字」を意味する正規表現に直接変換できます。

たとえば、Perl:

リファラー =~ s/[^\x{9}\x{A}\x{D}\x{20}-\x{D7FF}\x{E000}-\x{FFFD}\x{10000}- \x{10FFFF}]+//g;

于 2009-09-24T01:25:29.407 に答える