用斜杠替换url参数

时间:2018-01-10 11:45:26

标签: c# rest

我有一个简单的休息终点

myapi/documents/<doc title>/sections

是的,我需要那里的doc title。应该是id,我知道,但已经确定它不会是ID。

但后来我有一个文件标题 <script>alert("wololo");</script>

如果这是我的网址,肯定它不会工作。我是从c#后端调用它(一个后端调用其他后端)

Post(_httpClient, JsonConvert.SerializeObject(documentType), new Uri(_url + "/api/documents/"+title+ "/sections"));

解决这个问题的好方法是什么?

1 个答案:

答案 0 :(得分:0)

uri“/ documents / foo / bar / sections”等于“/ documents / foo%2Fbar / sections”。 因此,如果标题中包含斜杠,则如果标题包含斜杠,如果应用程序无法路由到资源,则需要在URL中找到对标题进行编码和解码的方法。你可以,例如用双连字符( - )或类似物替换slahes。