查阅了r *http.Request对象中的所有属性没有發现可以直接获取完整的url的方法。于是尝试根据host和请求地址进行拼接在golang中可以通过r.Host获取hostname,r.RequestURI获取相应的请求地址
但是还少一个协议的判斷,怎么区分是http和https呢一开始尝试通过r.Proto属性判断,但是发现该属性不管是http还是https都是返回HTTP/1.1,又寻找了下发现TLS属性在https协议下有对应值,在http丅为nil
查阅了r *http.Request对象中的所有属性没有發现可以直接获取完整的url的方法。于是尝试根据host和请求地址进行拼接在golang中可以通过r.Host获取hostname,r.RequestURI获取相应的请求地址
但是还少一个协议的判斷,怎么区分是http和https呢一开始尝试通过r.Proto属性判断,但是发现该属性不管是http还是https都是返回HTTP/1.1,又寻找了下发现TLS属性在https协议下有对应值,在http丅为nil
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。