Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.79 KB | None | 0 0
  1. import java.net.*;
  2. import java.io.*;
  3. import tcpclient.TCPClient;
  4.  
  5. public class HTTPAsk {
  6.     public static void main( String[] args) throws IOException{
  7.        
  8.         int port = Integer.parseInt(args[0]);
  9.         ServerSocket welcomeSocket = new ServerSocket(port);
  10.        
  11.         while(true){
  12.            
  13.             Socket connectionSocket = welcomeSocket.accept();
  14.            
  15.             //buffer what the browser sends us, url etc
  16.             BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
  17.             //output stream to browser
  18.             DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
  19.            
  20.             String line;
  21.             String fin = "";
  22.             StringBuilder sb = new StringBuilder();
  23.             //vi tar in hela GET + URL från browser
  24.             //STOPP VID HTTP/1.1
  25.             while(!(line = inFromClient.readLine()).isEmpty()) {
  26.             sb.append(line);
  27.             fin = sb.toString(); //hela adressen
  28.             //line = inFromClient.readLine(); räcker det att ta in en line?????
  29.             }
  30.             //ANDRA KOMPONENT FÖRSTA RADEN
  31.             //GET /ask?hostname=time.nist.gov&port=13 HTTP/1.1
  32.             String[] finparam = fin.split(" ");
  33.             String path = finparam[1]; //inte GET men URL och ej version
  34.             //om adressen inte stämmer eller ngt
  35.             //File file = new File(path);
  36.             //not found för det finns inget där
  37.             /*if(!file.exists()) {
  38.                 outToClient.writeBytes("HTTP/1.1 404 Not Found \r\n\r\n");
  39.                 connectionSocket.close();
  40.             }*/
  41.             // bad request om det är felformulerat
  42.             //om typ någon del i urlen inte kan framkallas
  43.             /*if(finparam.length() < 3) {
  44.                 outToClient.writeBytes("HTTP/1.1 400 Bad Request \r\n\r\n");
  45.                 connectionSocket.close();
  46.             }*/
  47.             //no protocol???? hur??? vi kan tydligen inte stopppa in stringröv här
  48.             /*URL url = new URL(path);
  49.             String hostname = url.getHost();
  50.             int port2 = url.getPort(); //WHY TWO PORTS???
  51.             String serverInput = url.getQuery();*/
  52.             //vi bör skicka iväg vad vi snippade upp ovan tcpclientanv
  53.             //String serverOutput = TCPClient.askServer(hostname, port2, serverInput);
  54.             //then we should just throw what we got out to the browser page
  55.             //header
  56.             outToClient.writeBytes("HTTP/1.1 200 OK \r\n\r\n");
  57.             outToClient.writeBytes("YOOOOOOOOOOOOO\r\n\r\n");
  58.             outToClient.writeBytes(path + "\r\n\r\n");
  59.             //outToClient.writeBytes(hostname);
  60.             connectionSocket.close();
  61.         }
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement