1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package main
- import (
- "fmt"
- "log"
- "net"
- "net/http"
- "regexp"
- "time"
- )
- func GetOutboundIP() net.IP {
- conn, err := net.Dial("udp", "8.8.8.8:80")
- if err != nil {
- log.Fatal(err)
- }
- defer conn.Close()
- localAddr := conn.LocalAddr().(*net.UDPAddr)
- return localAddr.IP
- }
- func Status(w http.ResponseWriter, r *http.Request) {
- fmt.Fprint(w, "Начиков Даниил группа 784\n")
- now := time.Now()
- fmt.Fprint(w, "Now time is: ", now.Format(" 2006-01-02 3:4:5 pm\n"))
- ip := GetOutboundIP().String()
- regex := regexp.MustCompile("\\W[0-9]*\\W[0-9]*")
- ipwithoutoctets := regex.ReplaceAllString(ip, ".*.*")
- fmt.Fprint(w, "Ip is: ", ipwithoutoctets, " (without 2 octet)")
- }
- func OK(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "HTTP-статус 200")
- }
- func Info(w http.ResponseWriter, r *http.Request) {
- fmt.Fprintf(w, "Начиков Даниил Группа 784")
- }
- func main() {
- http.HandleFunc("/Info", Info)
- http.HandleFunc("/OK", OK)
- http.HandleFunc("/Status", Status)
- err := http.ListenAndServe(":8080", nil)
- if err != nil {
- log.Fatal("ListenAndServe ", err)
- }
- }
|