如何在URL中使用字符串参数?

How to use string parameters in an URL?

我正在使用 Rest api,所以我发送了一个带有 URL 的请求,我的问题是当用户命名一个名称包含 space 或特殊字符的文件夹时,它什么也没发送.我使用了以下转换,但它不起作用:

string url = "http://localhost:8080/alfresco/service/set/folder/permission/?folderName="
             + folder
             + "&permi="
             + acces
             + "&username="
             + user
             + "&alf_ticket="
             + GetToken();

Uri url2 = new Uri(url);
Response.Write(url2);

您必须 URL 对变量进行编码以保证它们的安全。使用 HttpUtility.UrlEncode.

string urlSafeFolder = HttpUtility.UrlEncode(folder);

在你的 URL 中使用那个变量,你会没事的。 (您必须为传入的每个参数执行此操作!)

当任何用户输入 space 或 url 中的任何特殊字符时,我们需要使用 UrlEncode 方法对其进行编码 --

string urlSafeFolder = HttpUtility.UrlEncode(folder);

因此,如果 space 出现在 url 中,它将被转换为 %20 等等。 完整参考检查 http://www.w3schools.com/tags/ref_urlencode.asp