package main import ( "fmt" "net/http" "strings" "time" ) func okHandler(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) fmt.Fprintln(w, "OK") } func infoHandler(w http.ResponseWriter, r *http.Request) { studentInfo := "ФИО: Джурич Михаил Горанович, Номер группы: 712" fmt.Fprintln(w, studentInfo) } func statusHandler(w http.ResponseWriter, r *http.Request) { ip := r.RemoteAddr var maskedIP string fmt.Sscanf(ip, "%[^:]:%*s", &maskedIP) ipParts := strings.Split(maskedIP, ".") if len(ipParts) == 4 { maskedIP = fmt.Sprintf("%s.***.***.%s", ipParts[0], ipParts[3]) } currentTime := time.Now().Format("2006-01-02 3:4:5 pm") response := fmt.Sprintf("IP-адрес: %s\nФИО: Джурич Михаил Горанович\nТекущее время: %s", maskedIP, currentTime) fmt.Fprintln(w, response) } func main() { http.HandleFunc("/ok", okHandler) http.HandleFunc("/info", infoHandler) http.HandleFunc("/status", statusHandler) fmt.Println("Сервер запущен на порту 8080...") if err := http.ListenAndServe(":8080", nil); err != nil { fmt.Println("Ошибка запуска сервера:", err) } }