URL操作

2018-07-26  本文已影响3人  哆啦在这A梦在哪

package main

import "fmt"
import "net/url"
import "strings"

func main() {

    s := "postgres://user:pass@host.com:5432/path?k=v#f" //uel地址
    u, _ := url.Parse(s)                                 //解析获得的S能直接使用
    fmt.Println("Scheme:", u.Scheme)                     //这个是URL中的一个地址,也可以理解为协议,http,localhost,在iOS中,拿他区分来源应用,比如微信中发起的"weixin://"
    fmt.Println("User:", u.User)                         //用户信息
    fmt.Println("username:", u.User.Username())          //用户名
    p, _ := u.User.Password()
    fmt.Println("password:", p) //密码
    // Host包含了主机名和端口,如果需要可以手动分解主机名和端口
    fmt.Println("host:", u.Host)
    h := strings.Split(u.Host, ":")
    fmt.Println("h0:", h[0])
    fmt.Println("h1:", h[1])
    // 这里我们解析出路径和`#`后面的片段
    fmt.Println("path:", u.Path)
    fmt.Println("fragment:", u.Fragment)

    fmt.Println(u.RawQuery) //URL后面跟的参数值value
    m, _ := url.ParseQuery(u.RawQuery)
    fmt.Println(m)
    fmt.Println(m["k"][0])
    q := u.Query()
    q.Add("one", "one")
    u.RawQuery = q.Encode() //把添加的参数关联进URL
    fmt.Println("url:", u)
}

运行结果:


image.png
上一篇 下一篇

猜你喜欢

热点阅读