当前位置: 首页 > 面试题库 >

J2ME中的HTTP身份验证

经福
2023-03-14
问题内容

我正在尝试创建一个J2ME应用程序,该应用程序使用[HttpConnection](http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/io/HttpConnection.html)连接器与Web服务器通信。

当我与WebServer交谈时,我必须使用基本HTTP身份验证进行身份验证,通常这种方式类似于

<http://username:password@website.com/rest/api/method>

但是在J2ME中,当我构造这种形式的url时,它不起作用。

我也尝试添加请求属性, hc = (HttpConnection) Connector.open(url); hc.setRequestProperty("User", "alagu"); hc.setRequestProperty("pass", "mypassword");

但是没有用

有人以前做过基于j2me的HTTP身份验证吗?提前致谢。


问题答案:

可能是J2ME不支持基本身份验证,我可能错了。如果您想尝试仅在请求中设置身份验证标头,则可能需要与您使用的标头不同的标头。

从rfc:

为了获得授权,客户端在凭据中以base64 [7]编码的字符串内发送用单个冒号(“:”)字符分隔的用户ID和密码。

[…]

如果用户代理希望发送用户标识“ Aladdin”和密码“ open sesame”,它将使用以下标头字段:

 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

因此,只需创建字符串“ User:Password”,base64对其进行编码,然后调用
setRequestProperty("Authorization", "Basic "+ encodedUserAndPass)



 类似资料:
  • 问题内容: 我想写书,所使用的一个一个的NodeJS REST的API服务器Joyent的,并且一切正常,除了我无法验证普通用户的身份验证。如果我跳到终端并执行,则无法在NodeJS http服务器上获取值username:password。如果我的NodeJS http服务器类似于 ,是否应该在来自回调的 req 对象中某处获取值username:password ?如何获得这些值而不必使用Co

  • 问题内容: 因为在AngularJS中使用CORS和http身份验证可能会比较棘手,所以我编辑了问题以分享一个经验教训。首先,我要感谢igorzg。他的回答对我很有帮助。场景如下:您想使用AngularJS $ http服务将POST请求发送到另一个域。获取AngularJS和服务器设置时,需要注意一些棘手的事情。 第一:在您的应用程序配置中,您必须允许跨域调用 第二:您必须指定withCrede

  • 问题内容: 因此,我正在使用RESTeasy和Google App Engine开发REST Web服务。我的问题与GAE无关,但我提到它只是为了以防万一。碰巧的是,我自然需要保护自己的资源和我自己的用户(而不是Google的用户)。 REST Web服务的安全似乎是一个很有争议的主题,或者至少是一个非常“自由的”主题。REST对此没有施加任何标准。根据我在网络和文献上的研究,至少有3种方法适合我

  • 我尝试了angular.js,并从一个restful api的web-ui开始(使用超文本传输协议基本授权)。这真的很好,除了授权工作。 到目前为止,我使用的是设置密码,但大多数情况下浏览器会打开http basic auth的默认登录表单。另一个奇怪的行为是angular请求不包含授权头(选项和GET请求都不包含)。我还尝试使用header配置在每个请求上设置此header,但这也不起作用。 有

  • 问题内容: 我有一个非常简单的selenium-webdriver脚本。我想使用webdriver进行HTTP身份验证。 脚本: 问题: 抛出 org.openqa.selenium.NoAlertPresentException:不存在警报 题: Webdriver是否仅找到警报对话框作为警报? 在不使用AutoIt或http:// username:password @somesite的情况下

  • 问题内容: 如何在Golang网站上实施基本身份验证?这样,当有人访问某个页面时,他们的 浏览器 会提示他们登录。 问题答案: 为了强制用户进行身份验证/在用户浏览器中显示基本身份验证提示,请发送标头 因此,如果您有通话,您可以 这将导致浏览器打开您所指的提示。