(** Client HTTP/0.9 *) let http_client machine port path = let socket = open_connection machine port in let command = Printf.sprintf "GET %s\r\n" path in ignore (write socket command 0 (String.length command)); let buffer_size = 4096 in let buffer = String.create buffer_size in let rec display () = match read socket buffer 0 buffer_size with | 0 -> () | nb -> output Pervasives.stdout buffer 0 nb; display () in display ();; (** Récupération des arguments *) let main () = if Array.length Sys.argv <> 4 then begin prerr_endline ("Usage: "^Sys.argv.(0)^" machine port path"); exit 1 end else try let adresse = inet_addr_of_name Sys.argv.(1) in let port = port_of_string Sys.argv.(2) in http_client adresse port Sys.argv.(3) with Failure "inet_addr_of_name" -> prerr_endline ("Unknown host: "^Sys.argv.(1)); exit 2 | Failure "port_of_string" -> prerr_endline ("Unknown port: "^Sys.argv.(2)); exit 3;; handle_unix_error main ();; |