android - 在android中使用URLConnection时,未在请求 header 中设置"Accept-language"?

标签 android urlconnection

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

假设用户从德语区域发送请求,则响应应采用德语。我期望 URLConnection 应根据设备区域设置发送接受语言,类似于 ajax 调用。但 URLConnection 发出的请求中不存在接受语言 header 。

我需要显式设置请求 header 还是有其他选择?

提前致谢。

最佳答案

您可以使用以下任意一项来获取您格式的设备区域设置语言 -

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 header ,例如 -

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

关于android - 在android中使用URLConnection时,未在请求 header 中设置"Accept-language"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45916537/

相关文章:

java - Java 中向上转型的困惑

Java HttpURLConnection : Content Length computation

使用从 URLConnection 读取的值的 Java If 语句不起作用

java - 使用 ListActivity 时强制关闭应用程序和 ActivityNotFoundException

android - 鼠标指针在Android框架中的什么位置绘制?

android - 如何在 Android 2.2 中设置 spinnerMode?

java - Java HttpURLConnection 的编码错误

java - 如何在远程appium服务器中获取远程连接的设备?

java - AsyncTask 和 Thread 不会在 java/android 应用程序中运行两次

java - 无法写入连接到 URLConnection 的 BufferedOutputStream