2012-07-08 79 views

回答

3

我找到正确的答案在这里:Detecting the character encoding of an HTTP POST request

一个HTTP POST的默认编码是ISO-8859-1。

我唯一需要的是手动设置请求的编码。 顺便说一下,这里是工作代码:

public static Task<string> Post(string url, string data, string authToken) { 
    var client = new WebClient { Encoding = Encoding.UTF8 }; 
    client.Headers.Add("Content-Type:application/x-www-form-urlencoded"); 
    client.Headers.Add(AuthHeader(authToken)); 
    return client.UploadStringTaskAsync(new Uri(url), "POST", data); 
} 
-1

通常,涉及Box API调用中的国际字符的复杂情况只需要对请求的编码进行微小的调整。我猜你只需要用urlencode对目标文件夹名称进行编码。

如果这样做不起作用,如果您发送样本请求或代码段,我们可能会提供更多帮助。如果是这样,请将api密钥和身份验证令牌保留给自己。

+3

这不是正确的解决方案。如果我使用UrlEncode编码文件夹名称,创建的文件夹将被命名为%D1%80 ...但是,我发现并发布了正确的答案。 – z0rch 2012-07-08 18:31:00

相关问题