go go go.8.1.1 windows / amd64
“net / http”包用于构建http请求。
req, err := http.NewRequest("GET",`http://domain/_api/Web/GetFolderByServerRelativeUrl('` + root_folder_url + `')?$expand=Folders,Files`, nil)
如果我打印网址,则显示
http://domain/_api/Web/GetFolderByServerRelativeUrl%28%27rooturl%27%29?$expand=Folders,Files
不明白为什么网址解析器会在这里将'
替换为%27
。
我需要在请求时按原样发送'
。
答案 0 :(得分:3)
http.NewRequest函数调用url.Parse来设置Request.URL。调用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的参数指定请求的协议和主机。 opaque值指定写入网络的请求URI。请求URI不包括主机或协议。