2

URL 情報を含む文字列だけでなく、「<」などの特殊文字もエスケープする必要があります。

cl_http_utility=>escape_url を使用すると、これは '%3c' に変換されます。ただし、バックエンド Web サーバーが原因で、これを特殊文字として認識できず、値を文字どおりに受け取ります。特殊文字として認識されるのは '%3C' (C は大文字) です。また、 http://www.w3schools.com/tags/ref_urlencode.aspをチェックすると、適切なエンコーディングとしてすべて大文字の値が表示されます。

私の質問は、値を大文字で出力することを除いて、本質的に同じことを行う cl_http_utility=>escape_url に代わるものがあると思いますか?

ありがとう。

4

1 に答える 1

1

文字列関数を使用します。

l_escaped = escape( val    = l_unescaped 
                    format = cl_abap_format=>e_url ).

他の可能な形式は、e_url_full、e_uri、e_uri_full、および多数の xml/json のものです。文字列関数のエスケープは、デモ プログラムなど、かなり詳しく文書化されています。

于 2013-08-27T16:54:10.557 に答える