【问题标题】:How to set Accept-Language header on request from applet如何根据小程序的请求设置 Accept-Language 标头
【发布时间】:2010-12-12 23:02:59
【问题描述】:

我不熟悉 Java,但我需要从我的小程序中向远程 Web 服务发出请求。

网络服务 (.Net 1.1) 使用HttpContext.Current.Request.UserLanguages[0] 来确定要使用的语言。但是这个成员的值总是空的。

那么有没有办法将 Accept-Language 标头与“en-GB”集一起传递?

【问题讨论】:

  • 对不起。重写问题以适合您的实际问题

标签: java .net http-headers


【解决方案1】:

[新答案]

好吧,我假设你在小程序中做这样的事情

URL url = new URL("http://www.whateverwebservice.com/passmealongthedata");
URLConnection urlconn = url.openConnection();

然后在你发出真正的请求之前设置Accept-Language 标头

//Assuming you know the language parameter you want to pass along you
urlconnection.setRequestProperty("Accept-Language", "en-GB");
//or "en-GB,en;q=0.7" or similar
....
continue with your program flow
....

如果语言参数应该取决于浏览器中的设置,那么使用您的 .Net 方法是有意义的。当用户请求在页面上构建小程序的页面时,插入下面描述的附加<parameter> 标记。并修改小程序以发送该值。希望我清楚这一点。


[已移除]


[旧答案]

假设您确实想在小程序中确定客户端的浏览器版本:

java AFAIK 无法直接实现这一点,因为小程序不必关心它在哪个浏览器中运行。但是你可以

  • 用javascript先确定浏览器版本
  • 用javascirpt然后动态写applet标签
  • 并通过标签将浏览器版本传递给小程序

查看Passing Parameters to Applets 以获取有关如何执行此操作的示例。

【讨论】:

  • 为混乱道歉!!!我对Java一无所知。我正在开发一个遗留应用程序,他们使用 HttpContext.Current.Request.UserLanguages[0] 来确定要使用的语言。是否可以在 JavaApplet 中执行类似于 HttpContext.Current.Request.UserLanguages[0] 的操作?这个javaapplet调用了一个webservice,我需要传递类似“en-GB”之类的东西......我试图在webservice本身(.net 1.1)中检测到这一点,但没有像HttpContext.Current.Request.UserLanguages [ 0] 一直为空。我希望这能澄清一点谢谢你的时间
【解决方案2】:

如果你知道小程序运行的系统的默认语言(操作系统)就足够了,你可以从Applet#getLocale()得到它。如果您确实需要首选的浏览器语言,您可以从ServletRequest#getLocale() 在 servlet 容器中获取它的服务器端并动态生成小程序标记,将语言代码作为参数传递给小程序。

【讨论】:

  • 很抱歉,但我收到以下问题“无法解决 HttpServletRequest”我已将其添加到顶部“import javax.servlet.http.*;”但仍然没有运气,找不到我需要做什么?我试图做 HttpServletRequest request = ServletActionContext.getRequest();语言环境 userPreferredLocale = request.getLocale();有什么建议吗?
【解决方案3】:

这可能是查看Accept-Language HTTP 标头,您可以通过这样做在 Java 中获得该标头

request.getHeader("Accept-Language")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2014-01-01
    • 2014-07-13
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多