如何在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
我正在使用 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