我需要通過Play Framework在GET請求中獲取二進制數據。這用於從BitTorrent客戶端獲取info_hash。在Play Framework中獲取二進制HTTP GET參數
我得到這樣的:
byte[] infoHash = params.get("info_hash").getBytes("ISO-8859-1")
不幸被取代的0x3F所有非ASCII符號。
P.S.我可以從Http.Request.current()。querystring獲取url編碼參數,但這是一個壞主意。
更新:我重寫play.data.parsing.UrlEncodedParser.parse(InputStream is)
方法與我的變種,其中常用的ISO-8859-1的參數,而不是硬編碼的UTF-8在原有的所有工作,因爲它應該。但我仍然在尋找更好的方法,因爲我不想編輯框架源代碼。
爲什麼不使用POST代替GET? – fmucar 2011-02-03 11:54:22
BitTorrent客戶端只使用GET請求給播音員。 – lafayette 2011-02-03 11:56:42