Advertisement
Guest User

Untitled

a guest
Feb 29th, 2020
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.54 KB | None | 0 0
  1.  
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.DataInputStream;
  5. import java.io.DataOutputStream;
  6. import java.io.File;
  7. import java.io.FileInputStream;
  8. import java.io.FileNotFoundException;
  9. import java.io.IOException;
  10. import java.io.InputStreamReader;
  11. import java.io.PrintWriter;
  12. import java.net.ServerSocket;
  13. import java.net.Socket;
  14. import java.util.Arrays;
  15. import java.util.Base64;
  16. import java.util.Scanner;
  17. import java.util.StringTokenizer;
  18.  
  19. public class httpserverTwo implements Runnable{
  20.     private String contentType;
  21.     private Socket socket;
  22.     private String rootDir = "/media/sf_Share/web";
  23.  
  24.     public httpserverTwo(Socket socket) {
  25.         this.socket = socket;
  26.     }
  27.  
  28.     public static void main(String[] args) throws IOException {
  29.         ServerSocket server = new ServerSocket(8080);
  30.         System.out.println("Listening for connections on port 8080");
  31.         while (true) {
  32.             try {
  33.                 new Thread (new httpserverTwo(server.accept())).start();  
  34.  
  35.             } catch (IOException e) {
  36.                 e.printStackTrace();
  37.             }
  38.         }
  39.  
  40.     }
  41.     @Override
  42.     public void run() {
  43.         System.out.println(socket.getInetAddress()+" Connected.");
  44.         try {
  45.         DataOutputStream content = new DataOutputStream(socket.getOutputStream());
  46.         BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
  47.         PrintWriter out = new PrintWriter(socket.getOutputStream());
  48.         String request = in.readLine();
  49.         StringTokenizer split = new StringTokenizer(request);
  50.         String method = split.nextToken();
  51.         rootDir += split.nextToken();
  52.         File file = new File(rootDir);
  53.         checkContentType(rootDir);
  54.         FileInputStream fileReader = new FileInputStream(file);
  55.         byte[] fileData = new byte[(int) file.length()];
  56.         fileReader.read(fileData);
  57.         String test = new String(fileData);
  58.         checkContentType(rootDir);
  59.         out.println("HTTP/1.1 200 OK");
  60.         out.println("Content-type: " + contentType);
  61.         out.println("Content-Length: "+file.length());
  62.         out.println("Server: Bot");
  63.         out.println();
  64.         out.flush();
  65.         content.write(fileData, 0, fileData.length);
  66.         content.flush();
  67.        
  68.         }catch(IOException e) {
  69.             System.out.println(e);
  70.         }
  71.  
  72.     }
  73.  
  74.     public void checkContentType(String requestedFile) {
  75.         if (requestedFile.endsWith(".html") || requestedFile.endsWith(".htm"))
  76.             contentType = "text/html";
  77.         if (requestedFile.endsWith(".jpeg") || requestedFile.endsWith(".jpg"))
  78.             contentType = "image/jpeg";
  79.         if (requestedFile.endsWith(".png"))
  80.             contentType = "image/png";
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement