2012-07-08 74 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