如何取消浏览url';主持人是谁?
我正在尝试处理以下URL:如何取消浏览url';主持人是谁?,url,go,escaping,Url,Go,Escaping,我正在尝试处理以下URL: http://shitenonions%2elibsyn%2ecom/rss 当我尝试在Go中创建一个url时,出现以下错误: panic: parse http://shitenonions%2elibsyn%2ecom/rss: hexadecimal escape in host 如何修复此URL以便正确解析?我有一大组URL,其中有几个有这个问题 我曾考虑过URL解码,但我担心如果我这样做,那么对主机名以外的项目进行URL解码可能是不正确的。您可以使用UR
http://shitenonions%2elibsyn%2ecom/rss
当我尝试在Go中创建一个url时,出现以下错误:
panic: parse http://shitenonions%2elibsyn%2ecom/rss: hexadecimal escape in host
如何修复此URL以便正确解析?我有一大组URL,其中有几个有这个问题
我曾考虑过URL解码,但我担心如果我这样做,那么对主机名以外的项目进行URL解码可能是不正确的。您可以使用
URL.QueryUnescape
将实体%hh
解码回字符:
package main
import (
"fmt"
"net/url"
"strings"
)
func fixHost(link string) string {
if strings.HasPrefix(link, "http://") {
p := strings.Index(link[7:], "/")
if -1 != p {
host, _ := url.QueryUnescape(link[7:7+p])
return "http://" + host + link[7+p:]
}
}
return link
}
func main() {
fmt.Println(fixHost("http://shitenonions%2elibsyn%2ecom/rss"))
}