相关疑难解决方法(0)

使用C#进行URL编码

我有一个应用程序向VB论坛软件发送POST请求并记录某人(没有设置cookie或任何东西).

一旦用户登录,我创建一个在其本地计算机上创建路径的变量.

C:\ tempfolder \日\用户名

问题是一些用户名正在抛出"非法字符"异常.例如,如果我的用户名是,mas|fenix它会抛出异常..

Path.Combine( _      
  Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData), _
  DateTime.Now.ToString("ddMMyyhhmm") + "-" + form1.username)
Run Code Online (Sandbox Code Playgroud)

我不想从字符串中删除它,但是在服务器上通过FTP创建了带有用户名的文件夹.这导致了我的第二个问题.如果我在服务器上创建一个文件夹,我可以留下"非法字符"吗?我只是问这个,因为服务器是基于Linux的,我不确定Linux是否接受它.

编辑:似乎URL编码不是我想要的..这是我想要做的:

old username = mas|fenix
new username = mas%xxfenix
Run Code Online (Sandbox Code Playgroud)

其中%xx是ASCII值或任何其他可以轻松识别字符的值.

.net c# urlencode

316
推荐指数
11
解决办法
56万
查看次数

如何在不使用System.Web的情况下进行UrlEncode?

我正在尝试编写一个调用网站数据的Windows客户端应用程序.为了使安装保持最小,我尝试仅在.NET Framework客户端配置文件中使用dll.麻烦的是我需要UrlEncode一些参数,有没有一种简单的方法可以在不导入System.Web.dll的情况下执行此操作,而System.Web.dll不是Client Pofile的一部分?

.net c# urlencode .net-client-profile

302
推荐指数
6
解决办法
21万
查看次数

Server.UrlEncode与HttpUtility.UrlEncode

Server.UrlEncode和HttpUtility.UrlEncode之间有区别吗?

.net asp.net urlencode

173
推荐指数
6
解决办法
14万
查看次数

FormUrlEncodedContent 的大小限制解决方法

我收到错误:

System.UriFormatException: Invalid URI: The Uri string is too long.
Run Code Online (Sandbox Code Playgroud)

问题出在这一行:

FormUrlEncodedContent content = new FormUrlEncodedContent(postData); 
Run Code Online (Sandbox Code Playgroud)

经过研究,我了解到这是因为FormUrlEncodedContent类的大小限制。但我不确定如何解决这个问题?参见下面的代码:

 public Token RequestToken(string username, int businessID, string requestXml)
    {
        var postData = new Dictionary<string, string>() { { "username", username }, { "businessID", businessID.ToString() }, { "authenticator", requestXml } };
        FormUrlEncodedContent content = new FormUrlEncodedContent(postData);          

        try
        {
            HttpResponseMessage response = _client.PostAsync("Token", content).Result;
            if (response.IsSuccessStatusCode)
            {
                return response.Content.ReadAsAsync<Token>().Result;
            }
        }
        catch (Exception ex)
        {
            log.Error(ex);
        }

        return null;
    }
Run Code Online (Sandbox Code Playgroud)

有人能帮忙吗?

.net c#

6
推荐指数
1
解决办法
4354
查看次数

标签 统计

.net ×4

c# ×3

urlencode ×3

.net-client-profile ×1

asp.net ×1