当前位置: 首页 > 知识库问答 >
问题:

在android中使用URLConnection时,请求头中未设置“接受语言”?

滑令
2023-03-14

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

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

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

提前感谢。

共有1个答案

晏永康
2023-03-14

您可以使用以下任何一种方式以您的格式获取设备语言环境-

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

来源-参考这里

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

URL url = new URL("website url");
URLConnection urlconnection = url.openConnection();
urlconnection.setRequestProperty("Accept-Language", "en-GB");
 类似资料:
  • 我的后端是sprin引导应用程序,前端是vue js 但是cookie值没有设置在请求头部和所有其他api失败与身份验证问题,因为cookie值(会话ID)不存在于头部 样本响应头部与set-cookie身份验证 下面是我在vue.config.js中的代理配置 这是我的axios实例创建与"with凭据:真" 下面是我在服务器端的web安全配置 注意:这在邮递员中工作,因为邮递员会自动将cook

  • 问题内容: 在使用XMLHttpRequest进行AJAX调用时,似乎无法从JavaScript更改大多数请求标头。请注意,必须在Gecko浏览器中调用when。设置_Referer时_ ,它没有设置(我查看了使用Firebug和Tamper Data发送的请求标头)。当我设置User-Agent时,它完全搞砸了AJAX调用。但是,设置接受和_内容类型_确实可以。我们是否无法在Firefox 3中

  • 我使用curl命令调用我的REST服务 我试图使用Python的请求库映射相同的代码 我的问题是,如何在代码中设置我的TOKEN值?

  • 堆栈跟踪: java.lang.NullPointerException 在locusttask.salescrm.execute处(salescrm.java:76) 在java.util.concurrent.ThreadPoolExecutor$worker.run(ThreadPoolExecutor.java:624) 在java.lang.Thread.Run(thread.java:

  • 问题内容: 我有多个IP可以上网。我正在请求选择界面。在这种情况下,我应该如何设置标题? 通常,头是以这种方式设置的: 但是无法弄清楚如何将它们设置为我的代码。 我想它们必须放在或中的某个位置。但是到底如何呢? 我的完整代码: 问题答案: 创建一个请求: 设置标题: 使用问题中配置的方式运行请求: 按照问题所示处理响应。

  • 问题内容: 我正在使用对PHP的jQuery AJAX调用来验证登录表单。在php中,我创建一个会话,如果他们选中了“ remember me”复选框,我想创建一个cookie。这是php代码: 会话设置成功,但是cookie完全没有设置。我尝试设置所有值(域,路径等),但没有任何改变。有什么明显的我想念的吗? 问题答案: 以下是一些建议: 确保您指定了正确的日期到期格式 在重定向页面上设置coo