在android中使用URLConnection时,未在请求标头中设置“Accept-language”?

时间:2017-08-28 10:07:24

标签: android urlconnection

我正在使用URLConnection从Android应用程序下载html文件。但我想要基于设备区域设置的HTML内容。

假设用户从德语语言环境发送请求,则响应应使用德语。我期望URLConnection应该根据device-locale发送accept-language,类似于ajax调用。但URLConnection发出的请求中不存在accept-language标头。

我是否需要明确设置请求标头或有其他选择吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

您可以使用以下任何方式获取格式的设备区域设置语言 -

Locale.getDefault().getLanguage()       ---> en      
Locale.getDefault().getISO3Language()   ---> eng 
Locale.getDefault().getCountry()        ---> US 
Locale.getDefault().getISO3Country()    ---> USA 
Locale.getDefault().getDisplayCountry() ---> United States 
Locale.getDefault().getDisplayName()    ---> English (United States) 
Locale.getDefault().toString()          ---> en_US
Locale.getDefault().getDisplayLanguage()---> English

来源 - Refer here

您可以在请求中提供Accept-Language标头,例如 -

URL url = new URL("website url");
URLConnection urlconnection = url.openConnection();
urlconnection.setRequestProperty("Accept-Language", "en-GB");