dfg.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "net/http"
  6. "net"
  7. "regexp"
  8. )
  9. func GetOutboundIP() net.IP {
  10. conn, err := net.Dial("udp", "8.8.8.8:80")
  11. if err != nil {
  12. log.Fatal(err)
  13. }
  14. defer conn.Close()
  15. localAddr := conn.LocalAddr().(*net.UDPAddr)
  16. return localAddr.IP
  17. }
  18. func status(w http.ResponseWriter, r *http.Request) {
  19. fmt.Fprintf(w, "HTTP-статус 200")
  20. }
  21. func info_students(w http.ResponseWriter, r *http.Request) {
  22. fmt.Fprintf(w, " Любовникова Екатерина Александровна 791")
  23. }
  24. func state(w http.ResponseWriter, r *http.Request) {
  25. Ip := GetOutboundIP().String()
  26. regex := regexp.MustCompile("\\W[0-9]*\\W[0-9]*")
  27. ipwithoutoctets := regex.ReplaceAllString(Ip, ".*.*")
  28. fmt.Fprint(w, ipwithoutoctets)
  29. fmt.Fprintf(w, " Любовникова Екатерина Александровна 2021-09-23 4:5:5 pm")
  30. }
  31. func main() {
  32. http.HandleFunc("/OK/", status)
  33. http.HandleFunc("/Info/", info_students)
  34. http.HandleFunc("/Status/", state)
  35. err := http.ListenAndServe(":2000", nil)
  36. if err != nil {
  37. log.Fatal("ListenAndServe: ", err)
  38. }
  39. }