Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.DataInputStream;
- import java.io.DataOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.Arrays;
- import java.util.Base64;
- import java.util.Scanner;
- import java.util.StringTokenizer;
- public class httpserverTwo implements Runnable{
- private String contentType;
- private Socket socket;
- private String rootDir = "/media/sf_Share/web";
- public httpserverTwo(Socket socket) {
- this.socket = socket;
- }
- public static void main(String[] args) throws IOException {
- ServerSocket server = new ServerSocket(8080);
- System.out.println("Listening for connections on port 8080");
- while (true) {
- try {
- new Thread (new httpserverTwo(server.accept())).start();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- @Override
- public void run() {
- System.out.println(socket.getInetAddress()+" Connected.");
- try {
- DataOutputStream content = new DataOutputStream(socket.getOutputStream());
- BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- PrintWriter out = new PrintWriter(socket.getOutputStream());
- String request = in.readLine();
- StringTokenizer split = new StringTokenizer(request);
- String method = split.nextToken();
- rootDir += split.nextToken();
- File file = new File(rootDir);
- checkContentType(rootDir);
- FileInputStream fileReader = new FileInputStream(file);
- byte[] fileData = new byte[(int) file.length()];
- fileReader.read(fileData);
- String test = new String(fileData);
- checkContentType(rootDir);
- out.println("HTTP/1.1 200 OK");
- out.println("Content-type: " + contentType);
- out.println("Content-Length: "+file.length());
- out.println("Server: Bot");
- out.println();
- out.flush();
- content.write(fileData, 0, fileData.length);
- content.flush();
- }catch(IOException e) {
- System.out.println(e);
- }
- }
- public void checkContentType(String requestedFile) {
- if (requestedFile.endsWith(".html") || requestedFile.endsWith(".htm"))
- contentType = "text/html";
- if (requestedFile.endsWith(".jpeg") || requestedFile.endsWith(".jpg"))
- contentType = "image/jpeg";
- if (requestedFile.endsWith(".png"))
- contentType = "image/png";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement