我试图写一个windows客户端应用程序,调用一个网站的数据。为了使安装最小化,我尝试只使用。net框架客户端配置文件中的dll。麻烦的是,我需要UrlEncode一些参数,有没有一个简单的方法来做到这一点,而不导入System.Web.dll,这不是客户端Pofile的一部分?
当前回答
你可以使用
Uri。EscapeUriString(参见http://msdn.microsoft.com/en-us/library/system.uri.escapeuristring.aspx)
其他回答
你可以使用
Uri。EscapeUriString(参见http://msdn.microsoft.com/en-us/library/system.uri.escapeuristring.aspx)
UrlEncode不使用系统。网络:
String s = System.Net.WebUtility.UrlEncode(str);
//fix some different between WebUtility.UrlEncode and HttpUtility.UrlEncode
s = Regex.Replace(s, "(%[0-9A-F]{2})", c => c.Value.ToLowerInvariant());
更多的细节: https://www.samnoble.co.uk/2014/05/21/beware-webutility-urlencode-vs-httputility-urlencode/
有一个客户端配置文件可用的版本,System.Net.WebUtility类,在客户端配置文件System.dll中。这是MSDN链接:
WebUtility
下面是一个发送POST请求的例子,使用application/x-www-form-urlencoded内容类型正确编码参数:
using (var client = new WebClient())
{
var values = new NameValueCollection
{
{ "param1", "value1" },
{ "param2", "value2" },
};
var result = client.UploadValues("http://foo.com", values);
}
System.Net.WebUtility.HtmlDecode
推荐文章
- 我如何使一个方法的返回类型泛型?
- 何时处理CancellationTokenSource?
- 如何获取正在执行的程序集版本?
- AutoMapper vs valueinjector
- 为什么控制台不。Writeline,控制台。在Visual Studio Express中编写工作?
- 什么是.NET程序集?
- 字符串不能识别为有效的日期时间“格式dd/MM/yyyy”
- 函数应该返回空对象还是空对象?
- 如何转换日期时间?将日期时间
- 如何在c#中连接列表?
- 在c#中引用类型变量的“ref”的用途是什么?
- 防止在ASP中缓存。NET MVC中使用属性的特定操作
- 转换为值类型'Int32'失败,因为物化值为空
- c#中有任何连接字符串解析器吗?
- 在Linq中转换int到字符串到实体的问题