【问题标题】:How to quote a forward slash in a WebClient url?如何在 WebClient url 中引用正斜杠?
【发布时间】:2014-07-30 05:59:56
【问题描述】:

我正在使用 WebClient 连接到 Web 上的数据源,我需要提供用户名和密码。用户名可以包含正斜杠。但是,如果这是在连接字符串中,则它不起作用。

我的代码:

using (WebClient client = new WebClient)
{
      data = client.DownloadString("https//myURL" + userID + password)

这一切都适用于诸如“va2fsf”之类的用户ID,但不适用于包含诸如9k/vo1dsk之类的正斜杠的用户ID。
我该如何处理?我尝试使用%2F as in 9k%2Fvo1dsk,但这不起作用。

感谢您的帮助!

【问题讨论】:

  • 您的目标 .NET 框架是什么?如果您的目标是 .NET 4.0 框架,则存在此问题。如果您以 .NET 4.5 框架为目标,它就会消失。试试看

标签: c# url webclient


【解决方案1】:

使用HttpUtility.UrlEncode

data = client.DownloadString("https://myURL" + 
                              HttpUtility.UrlEncode(userID) +
                              HttpUtility.UrlEncode(password))

【讨论】:

  • 现在就试试这个真好。谢谢,我会告诉你的。
  • 您好,看来还是不行。如果用户标识中有正斜杠,则失败。这是服务器问题吗?
  • 事实证明,当它是我的参数时,不需要对正斜杠进行编码。我收到的错误与正斜杠无关。
猜你喜欢
  • 2020-07-30
  • 2015-08-11
  • 1970-01-01
  • 2015-03-26
  • 2011-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多