请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

nginx中的dig日志UA的编码格式

dig?time=2018%2F3%2F15+%E4%B8%8B%E5%8D%888%3A26%3A27&url=http%3A%2F%2Flocalhost%3A8889%2Flist%2F1.html&ua=Mozilla%2F5.0+(Windows+NT+10.0%3B+Win64%3B+x64)+AppleWebKit%2F537.36+(KHTML%2C+like+Gecko)+Chrome%2F64.0.3282.186+Safari%2F537.36

日志原生出来的格式是这样的,这个是什么原因?编码的问题吗。怎么解析还原为正常的格式?

正在回答

插入代码

3回答

这个是url的urlencode 可以通过 golang 中的 url 库来解码为正常的格式

1
2
3
4
5
6
7
8
9
10
11
12
13
package main 
import (
    "fmt"
    "net/url"
func main() {    
    fmt.Println(u.Path)   
    urlEncoded, err := url.QueryUnescape("http%3A%2F%2Fwww.hehe.com%2F%E8%BF%85+%E9%9B%B7+hehe")
    if err != nil {    
        fmt.Println(err)   
    }  
    fmt.Println(urlEncoded) // http://www.hehe.com/迅 雷 hehe
}


1 回复 有任何疑惑可以回复我~
大彭 2018-03-16 21:45:54

这个是get请求参数,是被转码过的。需要后端转码 uri.decode;

UA是浏览器固定的格式,这个只能自己解析了

1 回复 有任何疑惑可以回复我~
Pangee 2018-03-18 16:19:34

另外两位同学已经解答啦。url  encode/decode的关系。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号