0

我正在尝试使用新 API 创建文件夹。

如果文件夹名称包含西里尔字母,我会收到 HTTP 400 Bad Request。但是它适用于拉丁字母。

是已知问题吗?

4

2 回答 2

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);
}
于 2012-07-08T18:22:59.830 回答
-1

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

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

于 2012-07-08T17:27:56.727 回答