给出以下简单代码
Uri url = new Uri.http("localhost:8090", "/browseDirectories",{"path":"\log\fastdmo.localhost.log"});
http.get( url).then( (response) {
print( response.body);
});
我发现http.get()方法没有在Web服务器上进行正确的调用 据我所知,网址变为
http://localhost:8090/browseDirectories?path=log%0Castdmo.localhost.log
我知道这是因为路径参数的前导\会被删除,但我该如何防止这种情况发生呢?
答案 0 :(得分:2)
您可以通过在字符串前加上r:
来使用原始字符串Uri url = new Uri.http("localhost:8090", "/browseDirectories",{"path":r"\log\fastdmo.localhost.log"});
将产生以下网址:
http://localhost:8090/browseDirectories?path=%5Clog%5Cfastdmo.localhost.log
或者,您可以使用第二个反斜杠来转义反斜杠:
Uri url = new Uri.http("localhost:8090", "/browseDirectories",{"path":"\\log\\fastdmo.localhost.log"});