|
@@ -0,0 +1,40 @@
|
|
|
+package main
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "log"
|
|
|
+ "net/http"
|
|
|
+ "strings"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+func main() {
|
|
|
+ http.HandleFunc("/", func1) // Эта строка обеспечивает поддержку адреса <ip>:<port>/
|
|
|
+ http.HandleFunc("/ok", func2) // Эта строка обеспечивает поддержку адреса <ip>:<port>/ok
|
|
|
+ http.HandleFunc("/info", func3) // Эта строка обеспечивает поддержку адреса <ip>:<port>/info
|
|
|
+ http.HandleFunc("/status", func4) // Эта строка обеспечивает поддержку адреса <ip>:<port>/info
|
|
|
+ err := http.ListenAndServe(":80", nil) // устанавливаем порт веб-сервера: 80
|
|
|
+ if err != nil {
|
|
|
+ log.Fatal(err)
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+func func1(w http.ResponseWriter, r *http.Request) { //объявляем функцию, которая будет вызвана при переходе на страницу.
|
|
|
+ fmt.Fprint(w, "Перейдите на страницы /ok, /info или /status") //Вывод текста на странице
|
|
|
+}
|
|
|
+
|
|
|
+func func2(w http.ResponseWriter, r *http.Request) {
|
|
|
+ w.WriteHeader(http.StatusOK) //устанавливаем статус ответа сервера - ОК.
|
|
|
+ fmt.Fprint(w, "HTTP-status 200(OK).") //Вывод текста на странице
|
|
|
+
|
|
|
+}
|
|
|
+func func3(w http.ResponseWriter, r *http.Request) {
|
|
|
+ fmt.Fprint(w, "Одинокова Анастасия Николаевна, 782 гр.") //Вывод текста на странице
|
|
|
+}
|
|
|
+
|
|
|
+func func4(w http.ResponseWriter, r *http.Request) {
|
|
|
+ var ip = strings.Split(string(r.RemoteAddr), ".")
|
|
|
+ fmt.Fprint(w, "Your IP address: ", ip[0], ".x.x.", ip[3][:strings.IndexByte(ip[3], ':')], "\n") //Вывод текста на странице
|
|
|
+ fmt.Fprint(w, "Одинокова Анастасия Николаевна, 782 гр.\n")
|
|
|
+ fmt.Fprint(w, time.Now().Format("2006-01-02 3:4:5 pm"))
|
|
|
+}
|