1. 程式人生 > >使用nanohttpd,接收易語言的post資料問題

使用nanohttpd,接收易語言的post資料問題

session.parseBody(new HashMap<String, String>());
Map<String, List<String>> map = session.getParameters();
Iterator<String> i = map.keySet().iterator();
String s = i.next();

最後這個s就是post過來的全部資料

易語言的post的頭資訊如下content-length=6431, remote-addr=175.9.235.15, accept-language=zh-cn, http-client-ip=175.9.235.15, host=121.196.238.126:11007, connection=Keep-Alive, content-type=application/x-www-form-urlencoded; Charset=UTF-8, accept=*/*, user-agent=Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; 2Pac; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)

資料型別是application/x-www-form-urlencoded,這個要特別注意

易語言給nanohttpd傳輸base64資料的話,先將base64進行url編碼,否則nanohttpd接收到後,會有編碼問題,比如+變成了空格

 

 

 

nanohttpd如果接收的是formdata型別的資料,可以這樣

session.parseBody(new HashMap<String, String>()); 
Map<String, List<String>> map = session.getParameters();
map.get("paramName"
).get(0);

paramStr代表的是鍵,後面的0是固定的

String>> map = session.getParameters(); Iterator<String>