7.5 URL 解析

package main

import (
	"encoding/json"
	"fmt"
	"net/url"
)

func main() {

	u := &url.URL{}
	u.Scheme = "http"
	u.Host = "localhost:80"
	u.Path = "index.html"
	u.RawQuery = "id=1&name=John"
	u.User = url.UserPassword("admin", "1234")

	fmt.Printf("Assembled URL:\n%v\n\n\n", u)

	parsedURL, err := url.Parse(u.String())
	if err != nil {
		panic(err)
	}
	jsonURL, err := json.Marshal(parsedURL)
	if err != nil {
		panic(err)
	}
	fmt.Println("Parsed URL:")
	fmt.Println(string(jsonURL))

}

/*
Assembled URL:
http://admin:1234@localhost:80/index.html?id=1&name=John


Parsed URL:
{"Scheme":"http","Opaque":"","User":{},"Host":"localhost:80","Path":"/index.html","RawPath":"","ForceQuery":false,"RawQuery":"id=1\u0026name=John","Fragment":""}

*/

posted on 2018-03-23 23:55  cucy_to  阅读(140)  评论(0编辑  收藏  举报

导航