java - Http头请求中应该使用 "en_US"和 "en-US"哪种格式作为Accept-Language?

标签 java android http-headers http-accept-language

我实际测试了这两种格式,我的服务器对这两种格式都没有问题。自 Http header fields说“en-US”是格式,而我的本地 java 类返回“en_US”,我有点困惑要使用它们中的哪一个!

我的部分代码是这样的:

// set accepted language
            List<String> acceptedLanguages = null;
            final Locale defaultLocale = Locale.getDefault(); // en
            if (defaultLocale != null)
            {
                final String defaultLang = defaultLocale.toString(); // en_US
                if (!TextUtils.isEmpty(defaultLang))
                {
                    acceptedLanguages = new ArrayList<String>();
                    acceptedLanguages.add(defaultLang);

                    // Always add en as fallback if applicable
                    if (!HttpClient.DEFAULT_ACCEPTED_LANGUAGE_COUNTRY.equals(defaultLang))
                    {
                        acceptedLanguages.add(HttpClient.DEFAULT_ACCEPTED_LANGUAGE_COUNTRY);
                    }
                }
            }

            String header = HttpClient.getAcceptLanguageHeader(acceptedLanguages); // like: cz_CH;q=1.0, en_US;q=0.9
            this.mHttpGetRequest.addHeader(HttpHeaders.ACCEPT_LANGUAGE, header);
如果用户的设备语言不是 en_US

getAcceptLanguageHeader() 方法会将 en_US;q=0.9 添加到字符串中。

任何想法将不胜感激。谢谢。

最佳答案

我相信连字符“-”被接受为 HTTP 标准的一部分,而下划线“_”将被拒绝。参见 W3C HTTP v1.1 Standard, Header Field Definitions, Section 14.4 Accept-Language了解更多信息。

注意:W3C 代表万维网联盟

关于java - Http头请求中应该使用 "en_US"和 "en-US"哪种格式作为Accept-Language?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27499655/

相关文章:

javascript - 如何格式化来自 getJSON() jQuery 调用的 HTTP 请求的 HTTP 响应

安卓 : Capturing HTTP Requests with non-rooted android device

java - Pades 签名使用 PDFBox ETSI 验证

java - 不使用任何第三方库在Web上登录twitter的指南

java - 异常: access denied ("java.net.SocketPermission" "localhost:80" "listen,resolve")

Android Studio 0.5.0 - 升级后没有自动代码完成和错误语法识别器

java - 是否可以从已签名的 Java 应用程序操作 &lt;input type ="file"/> 的值?

android - MediaRecorder 示例不起作用

java - 如何使用 CheckBox 在 ExpandableListView 中隐藏特定组

javascript - $http.get 调用中包含什么 URL?