Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.net.*;
- import java.io.*;
- import tcpclient.TCPClient;
- public class HTTPAsk {
- public static void main( String[] args) throws IOException{
- int port = Integer.parseInt(args[0]);
- ServerSocket welcomeSocket = new ServerSocket(port);
- while(true){
- Socket connectionSocket = welcomeSocket.accept();
- //buffer what the browser sends us, url etc
- BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
- //output stream to browser
- DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
- String line;
- String fin = "";
- StringBuilder sb = new StringBuilder();
- //vi tar in hela GET + URL från browser
- //STOPP VID HTTP/1.1
- while(!(line = inFromClient.readLine()).isEmpty()) {
- sb.append(line);
- fin = sb.toString(); //hela adressen
- //line = inFromClient.readLine(); räcker det att ta in en line?????
- }
- //ANDRA KOMPONENT FÖRSTA RADEN
- //GET /ask?hostname=time.nist.gov&port=13 HTTP/1.1
- String[] finparam = fin.split(" ");
- String path = finparam[1]; //inte GET men URL och ej version
- //om adressen inte stämmer eller ngt
- //File file = new File(path);
- //not found för det finns inget där
- /*if(!file.exists()) {
- outToClient.writeBytes("HTTP/1.1 404 Not Found \r\n\r\n");
- connectionSocket.close();
- }*/
- // bad request om det är felformulerat
- //om typ någon del i urlen inte kan framkallas
- /*if(finparam.length() < 3) {
- outToClient.writeBytes("HTTP/1.1 400 Bad Request \r\n\r\n");
- connectionSocket.close();
- }*/
- //no protocol???? hur??? vi kan tydligen inte stopppa in stringröv här
- /*URL url = new URL(path);
- String hostname = url.getHost();
- int port2 = url.getPort(); //WHY TWO PORTS???
- String serverInput = url.getQuery();*/
- //vi bör skicka iväg vad vi snippade upp ovan tcpclientanv
- //String serverOutput = TCPClient.askServer(hostname, port2, serverInput);
- //then we should just throw what we got out to the browser page
- //header
- outToClient.writeBytes("HTTP/1.1 200 OK \r\n\r\n");
- outToClient.writeBytes("YOOOOOOOOOOOOO\r\n\r\n");
- outToClient.writeBytes(path + "\r\n\r\n");
- //outToClient.writeBytes(hostname);
- connectionSocket.close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement