From fe79eb6fc0a7972da080890e2d1b72eb518374ee Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sat, 20 Aug 2022 12:01:51 -0500 Subject: [PATCH] Submit a web request Co-authored-by: sigonasr2 --- bin/readers/ITGReader.class | Bin 7346 -> 7394 bytes ding.wav | Bin 0 -> 25584 bytes readers.zip | Bin 0 -> 34451 bytes sigPlace.jar | Bin 68657 -> 68679 bytes sigPlace.java | 43 +++++++++++++++++++++++++++++++++--- sigServer.java | 8 +++++++ 6 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 ding.wav create mode 100644 readers.zip diff --git a/bin/readers/ITGReader.class b/bin/readers/ITGReader.class index 6849b7e53b51a46717fddd677f4628d53f5908d7..a9d83105bed1775a4803736efea02bb5108d8b78 100644 GIT binary patch delta 434 zcmZ{fNhrht6o z+2BD{9#z4|2~Udn%m*(L!K)=NE#i);M`dq#N8 delta 375 zcmZ{fODMzv5XOJ=Z)wY6OA6)0Np5S^t^)^!9Jp*Ln{rSNTbw;=57L&aJWei3d9%CZ zWU*+|+OQ%bTJMOwAL})_IH~z&nrXgo=8HRgj>%AZnG+Mqzt!A}PPdYGo485Wsi zg&+~;i4kIlB@S5Tgs_yTQVL171f?4O(#(3p6VVsfNF$1qb!yq5PI+#&Xk?pa<+rhm zmpwY!r(3o9IAnk$28lDJMgyGc%`>%l!77)kcBRZ~W!>o3txoRv;9e{|NH&jBz>}2o wEG}N8$;zv=^CrE#%LoYx@*y!k<(w}`@NHNGBS*x@6_a5lV%Wvp<;wE@05B$SoB#j- diff --git a/ding.wav b/ding.wav new file mode 100644 index 0000000000000000000000000000000000000000..0aa72ef16e8d25004210b2df780a4e72622f4f7e GIT binary patch literal 25584 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 literal 0 HcmV?d00001 diff --git a/readers.zip b/readers.zip new file mode 100644 index 0000000000000000000000000000000000000000..ce4d6d51c22b81e40514318f41e5e73d7412c3d7 GIT binary patch literal 34451 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 diff --git a/sigPlace.java b/sigPlace.java index 6e85538..4cb2676 100644 --- a/sigPlace.java +++ b/sigPlace.java @@ -16,11 +16,18 @@ import java.util.Map; import java.util.regex.Pattern; import javax.imageio.ImageIO; +import javax.sound.sampled.AudioInputStream; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.Clip; + +import exceptions.FailedResponseException; + import java.awt.image.BufferedImage; import java.awt.AWTException; import java.awt.Color; import java.awt.Robot; import java.awt.GraphicsEnvironment; +import java.net.http.HttpResponse; import readers.Box; import readers.fonts.Font; @@ -95,6 +102,10 @@ public class sigPlace { if (args.length>0&&args[0].equals("arcade")) { try { Robot r = new Robot(); + Reader lastReader = null; + int matches=0; + final int EXPECTED_MATCHES=20; + boolean submitted=false; while (true) { BufferedImage screenshot = r.createScreenCapture(GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds()); if (new Color(screenshot.getRGB(1550,604)).equals(SDVX_UI_COL)) { @@ -115,7 +126,22 @@ public class sigPlace { ImageIO.write(screenshot,"png",temp.toFile()); result.interpretBoxes(temp, true); if (result.isReasonableData()) { - System.out.println("Data is reasonable, prepare for submitting..."); + if (lastReader!=null&&lastReader.equals(result)) { + matches++; + } else { + lastReader=result; + matches=0; + submitted=false; + } + if (matches>=EXPECTED_MATCHES&&!submitted) { + System.out.println("Data is reasonable, prepare for submitting..."); + POSTRequest postRes = new POSTRequest("http://"+args[0]+"/uploadform.html",temp); + if (((HttpResponse)postRes.run()).statusCode()==200) { + playSound(Paths.get("ding.wav")); + System.out.println("Successful!"); + submitted=true; + } + } } /*if (result.isReasonableData()) { POSTRequest postRes = new POSTRequest("http://"+args[0]+"/uploadform.html",Path.of("..",filename)); @@ -123,7 +149,7 @@ public class sigPlace { } Thread.sleep(50); } - } catch (AWTException | InterruptedException | IOException e) { + } catch (AWTException | InterruptedException | IOException | FailedResponseException e) { e.printStackTrace(); } } else { @@ -729,5 +755,16 @@ public class sigPlace { e.printStackTrace(); } - } + }public static void playSound(Path file) { + try { + AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file.toFile()); + Clip clip = AudioSystem.getClip(); + clip.open(audioInputStream); + clip.start(); + // If you want the sound to loop infinitely, then put: clip.loop(Clip.LOOP_CONTINUOUSLY); + // If you want to stop the sound, then use clip.stop(); + } catch (Exception ex) { + ex.printStackTrace(); + } + } } diff --git a/sigServer.java b/sigServer.java index dd5fef5..93f030e 100644 --- a/sigServer.java +++ b/sigServer.java @@ -105,12 +105,14 @@ public class sigServer { stream = new FileOutputStream(myFile); char[] buffer = new char[1024]; int count; + boolean wroteData=false; while ((count = in.read(buffer))>0) { //stream.write(in.read(buffer)); //stream.write(buffer.,0,count); String buf = new String(buffer); byte[] data = buf.getBytes("ISO-8859-1"); stream.write(data,0,count); + wroteData=true; if (buf.contains(boundary)) { System.out.println(""); System.out.println("<...>"); @@ -122,6 +124,12 @@ public class sigServer { stream.close(); filename=null; + if (!wroteData) { + System.out.println("Upload failed!"); + in.close(); + CreateRequest(client,"400","Bad Request",Paths.get(sigPlace.OUTDIR,"testfile.html")); + return; + } System.out.println("Saving upload to "+sigPlace.UPLOADSDIR+" directory."); } }