http.NewRequest 在 golang 中将一些承租人转换为 % 值
http.NewRequest in golang converting some charterers to % values
go版本go1.8.1windows/amd64
"net/http" 用于构建 http 请求的包。
req, err := http.NewRequest("GET",`http://domain/_api/Web/GetFolderByServerRelativeUrl('` + root_folder_url + `')?$expand=Folders,Files`, nil)
这里如果我打印 url 它显示
http://domain/_api/Web/GetFolderByServerRelativeUrl%28%27rooturl%27%29?$expand=Folders,Files
不理解为什么 url 解析器在这里将 '
替换为 %27
。
而我需要 '
在请求时按原样发送。
调用http.NewRequest function calls url.Parse to set the Request.URL. The URL.RequestURI方法获取写入网络的请求URI。
应用程序可以通过设置请求 URL Opaque 字段来覆盖 Parse/RequestURI 所做的任何转换:
req, err := http.NewRequest("GET", "http://domain/", nil)
if err != nil {
// handle error
}
req.URL.Opaque = `/_api/Web/GetFolderByServerRelativeUrl('` + root_folder_url + `')?$expand=Folders,Files`
在此代码段中,NewRequest 的参数指定请求的协议和主机。不透明值指定写入网络的请求 URI。请求 URI 不包括主机或协议。
go版本go1.8.1windows/amd64
"net/http" 用于构建 http 请求的包。
req, err := http.NewRequest("GET",`http://domain/_api/Web/GetFolderByServerRelativeUrl('` + root_folder_url + `')?$expand=Folders,Files`, nil)
这里如果我打印 url 它显示
http://domain/_api/Web/GetFolderByServerRelativeUrl%28%27rooturl%27%29?$expand=Folders,Files
不理解为什么 url 解析器在这里将 '
替换为 %27
。
而我需要 '
在请求时按原样发送。
调用http.NewRequest function calls url.Parse to set the Request.URL. The URL.RequestURI方法获取写入网络的请求URI。
应用程序可以通过设置请求 URL Opaque 字段来覆盖 Parse/RequestURI 所做的任何转换:
req, err := http.NewRequest("GET", "http://domain/", nil)
if err != nil {
// handle error
}
req.URL.Opaque = `/_api/Web/GetFolderByServerRelativeUrl('` + root_folder_url + `')?$expand=Folders,Files`
在此代码段中,NewRequest 的参数指定请求的协议和主机。不透明值指定写入网络的请求 URI。请求 URI 不包括主机或协议。