go_http

httpSvr

// HandleFunc registers the handler function for the given pattern
// in the DefaultServeMux.
// The documentation for ServeMux explains how patterns are matched.
func HandleFunc(pattern string, handler func(ResponseWriter, *Request)) {
	DefaultServeMux.HandleFunc(pattern, handler)
}

  

// ListenAndServe listens on the TCP network address addr and then calls
// Serve with handler to handle requests on incoming connections.
// Accepted connections are configured to enable TCP keep-alives.
//
// The handler is typically nil, in which case the DefaultServeMux is used.
//
// ListenAndServe always returns a non-nil error.
func ListenAndServe(addr string, handler Handler) error {
	server := &Server{Addr: addr, Handler: handler}
	return server.ListenAndServe()
}

  

package main

import (
	"fmt"
	"net/http"
)

func Hello(w http.ResponseWriter, r *http.Request) {
	fmt.Println("handle hello")
	fmt.Fprintf(w, "dashboard page")
}

func Login(w http.ResponseWriter, r *http.Request) {
	fmt.Println("handle login")
	fmt.Fprintf(w, "login page")
}


func main() {
	http.HandleFunc("/", Hello)
	http.HandleFunc("/login/", Login)
	err := http.ListenAndServe("127.0.0.1:8000", nil)
	if err != nil {
		fmt.Println("httpSvr listen failed")
	}
}

  

httpClient

package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	res,err := http.Get("http://127.0.0.1:8000/")
	if err != nil {
		fmt.Println("get err:",err)
		return
	}

	data,err := ioutil.ReadAll(res.Body)
	if err != nil {
		fmt.Println("get data err:",err)
		return
	}
	fmt.Println(string(data))
}

  

posted @ 2019-08-09 23:00  jabbok  阅读(164)  评论(0编辑  收藏  举报