Selaa lähdekoodia

Загрузить файлы ''

gr792_mma 2 vuotta sitten
vanhempi
commit
8c4f776af0
2 muutettua tiedostoa jossa 100 lisäystä ja 0 poistoa
  1. 64 0
      index.html
  2. 36 0
      lab2.go

+ 64 - 0
index.html

@@ -0,0 +1,64 @@
+<html>
+    <head>
+        <meta charset="utf-8">
+        <title>IP STATIC</title>
+        
+      
+
+        <script>
+            function offip(f) {
+             if (f.ip1.checked) f.ipaddr.disabled = 1, f.mask.disabled = 1, f.router.disabled = 1
+             else f.ipaddr.disabled = 0, f.mask.disabled = 0, f.router.disabled = 0 
+            }
+        </script>
+
+        <script>
+             function offdns(f) {
+             if (f.dnscheck1.checked) f.dns3.disabled = 1, f.dns2.disabled = 1
+             else f.dns3.disabled = 0, f.dns2.disabled = 0
+            }
+        </script>
+        
+       </head>
+       <body>
+       <form>
+        
+        <div class="main">
+        <div class = "field">
+
+        <div align = "left">
+        <p><input type="radio" id="ip1" name="agree" value="on" onclick="offip(this.form)" >Получить IP-адрес автоматически  </p>
+        <p><input type="radio" name="agree" value="off" onclick="offip(this.form)" >Использовать следующий IP-адрес</p> 
+        </div>
+            <p><label for="a">IP-адрес:</label>
+            <input type="text" size="15" name="ipaddr" maxlength="15" pattern="^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$">
+            </p>
+            <p><label for="a">Маска:</label>
+            <input type="text" size="15" name="mask" pattern="^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$">
+           </p>
+           <p> <label for="a">Основной шлюз:</label>
+            <input type="text" size="15" name="router" pattern="^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$">
+           </p><br>
+        
+       
+
+           <div align = "left">
+    <p><input type="radio" id="dnscheck1" name="dns"  value="on" onclick="offdns(this.form)">Получить DNS-сервера автоматически</p>
+    <p><input type="radio" name="dns" value="off" onclick="offdns(this.form)">Использовать следующий адреса DNS-серверов</p>
+</div>
+        
+
+            <label for="a">Преподчитаемый DNS-сервер:</label>
+            <input type="text" size="15" name="dns3" pattern="^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$">
+            </p>
+            <label for="a">Альтернативный DNS-сервер:</label>
+            <input type="text" size="15" name="dns2" pattern="^((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$">
+           </p>
+           <p><input type="submit" value="Изменить"></p>
+        </div>
+        </div>
+            </form>
+        </body>
+        
+
+

+ 36 - 0
lab2.go

@@ -0,0 +1,36 @@
+package main
+
+import (
+	"fmt"
+	"log"
+	"net"
+	"net/http"
+	"regexp"
+	"time"
+)
+
+func main() {
+	http.HandleFunc("/ok", ok)
+	http.HandleFunc("/info", info)
+	http.HandleFunc("/status", status)
+	http.Handle("/", http.FileServer(http.Dir("./ip")))
+	err := http.ListenAndServe(":8080", nil)
+	if err != nil {
+		log.Fatal("ListenAndServe: ", err)
+	}
+}
+func ok(w http.ResponseWriter, r *http.Request) {
+	fmt.Fprintf(w, "ok")
+	w.WriteHeader(200)
+}
+func info(w http.ResponseWriter, r *http.Request) {
+	fmt.Fprintf(w, "Морозов М.А. 792")
+}
+func status(w http.ResponseWriter, r *http.Request) {
+	time := time.Now()
+	ip, _, _ := net.SplitHostPort(r.RemoteAddr)
+	re := regexp.MustCompile(`[.].*[.]`)
+	fmt.Fprintln(w, re.ReplaceAllString(ip, ".*.*."))
+	fmt.Fprintf(w, "Морозов М.А."+"\n")
+	fmt.Fprintln(w, time.Format("2006-01-02 3:4:5 pm"))
+}