2017-02-22 9 views
1

âのような特殊文字をHTTPヘッダー値で送信すると、別のユニコード文字request().getHeader()が返されます。HTTPヘッダーの特殊文字のPlayFramework処理

HTTPヘッダーで特殊文字を送信することは推奨されませんが、これは私の要件であり、最初はJVMエンコーディングがUTF-8に設定されていないためだと思いました。しかし、設定した後でも私は同じ問題を抱えています。

私が見ている誰かが同様の質問質問:

Play Framework Unicode symbols in HTTP Header

をしかし、答えを得ていません。

答えて

0

PlayやJavaについてのことではなく、HTTP標準です。その文字をエンコードする必要があります.HTTPヘッダーにASCII以外の文字を送信する保証はありません。でも、RFC5987のための

How to send non-English unicode string using HTTP header?

Illegal characters in HTTP headers

Sending non-ASCII text in Http POST header

​​

handling filename* parameters with spaces via RFC 5987 results in '+' in filenames

+0

はい、私はUND HTTP標準に賛同してください。しかし、私はJettyサーバがHTTPヘッダのためにfile.encoding設定を尊重していることを知った。しかし、Nettyサーバーは厳密にHTTP標準に準拠しています。私のためには、base64でエンコードするしかないと思います。 – sasankad

関連する問題