1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package url
- import (
- netUrl "net/url"
- "strings"
- )
- func ParseUrl(rawURL string) (*netUrl.URL, error) {
- return netUrl.Parse(rawURL)
- }
- func UrlEncode(str string) string {
- return netUrl.QueryEscape(str)
- }
- func UrlDecode(str string) (string, error) {
- return netUrl.QueryUnescape(str)
- }
- func RawUrlEncode(str string) string {
- return strings.Replace(netUrl.QueryEscape(str), "+", "%20", -1)
- }
- func RawUrlDecode(str string) (string, error) {
- return netUrl.QueryUnescape(strings.Replace(str, "%20", "+", -1))
- }
- func HttpBuildQuery(queryData map[string]string) string {
- var uri netUrl.URL
- q := uri.Query()
- for key, value := range queryData {
- if strings.TrimSpace(value) != "" {
- q.Add(key, value)
- }
- }
- return q.Encode()
- }
|