update url parse

master v1.0.10
李光春 2 years ago
parent 8da9001d8f
commit db9dbded65

@ -14,7 +14,7 @@ import (
"time" "time"
) )
const Version = "1.0.9" const Version = "1.0.10"
// Response 返回内容 // Response 返回内容
type Response struct { type Response struct {

@ -5,27 +5,31 @@ import (
) )
type ResponseUrlParse struct { type ResponseUrlParse struct {
Uri string `json:"uri"` // URI
Urn string `json:"urn"` // URN
Url string `json:"url"` // URL
Scheme string `json:"scheme"` // 协议 Scheme string `json:"scheme"` // 协议
Host string `json:"host"` // 主机 Host string `json:"host"` // 主机
Hostname string `json:"hostname"` // 主机名 Hostname string `json:"hostname"` // 主机名
Port string `json:"port"` // 端口 Port string `json:"port"` // 端口
HostPath string `json:"host_path"` // 主机加路径
Path string `json:"path"` // 路径 Path string `json:"path"` // 路径
RawQuery string `json:"raw_query"` // 参数 ? RawQuery string `json:"raw_query"` // 参数 ?
Fragment string `json:"fragment"` // 片段 # Fragment string `json:"fragment"` // 片段 #
} }
// UrlParse 解析URl // UriParse 解析URl
func UrlParse(inputUrl string) (resp ResponseUrlParse) { func UriParse(input string) (resp ResponseUrlParse) {
parse, err := url.Parse(inputUrl) parse, err := url.Parse(input)
if err != nil { if err != nil {
return return
} }
resp.Uri = input
resp.Urn = parse.Host + parse.Path
resp.Url = parse.Scheme + "://" + parse.Host + parse.Path
resp.Scheme = parse.Scheme resp.Scheme = parse.Scheme
resp.Host = parse.Host resp.Host = parse.Host
resp.Hostname = parse.Hostname() resp.Hostname = parse.Hostname()
resp.Port = parse.Port() resp.Port = parse.Port()
resp.HostPath = parse.Host + parse.Path
resp.Path = parse.Path resp.Path = parse.Path
resp.RawQuery = parse.RawQuery resp.RawQuery = parse.RawQuery
resp.Fragment = parse.Fragment resp.Fragment = parse.Fragment

Loading…
Cancel
Save