J'ai besoin d'obtenir des données binaires dans une requête GET avec Play Framework. Cela est utilisé pour obtenir info_hash à partir des clients BitTorrent.
Je le récupère comme ceci :
byte[] infoHash = params.get("info_hash").getBytes("ISO-8859-1")
Malheureusement, tous les symboles non-ascii sont remplacés par 0x3f.
P.S. Je peux obtenir les paramètres encodés en URL à partir de Http.Request.current().querystring, mais c'est une mauvaise idée.
Mise à jour : J'ai remplacé la méthode play.data.parsing.UrlEncodedParser.parse(InputStream is)
avec ma variante où j'ai utilisé ISO-8859-1 comme paramètre au lieu de l'UTF-8 codé en dur comme dans l'original et tout fonctionne comme il se doit. Mais je recherche toujours une meilleure façon, car je ne veux pas modifier les sources du framework.