【问题标题】:Is HTTP PUT supported in J2ME?J2ME 支持 HTTP PUT 吗?
【发布时间】:2010-12-07 23:10:42
【问题描述】:

我刚刚注意到 MIDP 2.0 API 中的一件奇怪的事情:HttpConnection 类 apidocs 明确引用了方法 GET、POST 和 HEAD,但没有其他方法。这是否意味着它们不受支持?

http://java.sun.com/javame/reference/apis/jsr118/javax/microedition/io/HttpConnection.html

我还尝试检查 MIDP 2.0 规范,但找不到任何关于此的确凿事实。

我可以在某些手机上试一试,但不能全部试一试。有谁知道实现 MIDP 2.0 规范的手机需要支持哪些 HTTP 方法?或者在寻找支持/不支持的手机方面的任何经验,例如HTTP PUT?

如果不支持 PUT,是否有任何(便携式)解决方法可以实现它?在 SocketConnection 之上实现 HTTP?

【问题讨论】:

  • 好的,在诺基亚 S40 手机上测试,结果出现“方法不支持”异常。而且它看起来也不可能在其他地方得到支持......

标签: java java-me midp httpconnection


【解决方案1】:

规范在技术上不支持它。我确信有包装类,但我确信他们会引入自己的一组错误和解决方法。

编写一个简单的包装器并不难,编写一个体面可用的无错误的包装器要复杂得多

【讨论】:

  • 好的,谢谢。我必须检查是否已经有任何可用的库来执行此操作,但我猜没有。
【解决方案2】:

在 SocketConnection 之上实现它可能会遇到一些困难,因为许多(大多数?)实现不允许您使用 SocketConnection 连接到端口 80 或 8080,除非您是受信任/签名的。

【讨论】:

  • 这个限制更多是用于侦听套接字而不是进行出站连接
  • 感谢您的指点。我找到了一些与此相关的文档,看起来 JSR 185 (JTWI) 需要这种行为。不过,我不知道他们为什么需要这个。很奇怪。
【解决方案3】:

对,HttpConnection 仅限于这些动词。我认为修补它以使用其他方法是不可行的。你会想要使用Apache HttpClient。在许多其他功能中,

所有HTTP的完整实现 方法(GET、POST、PUT、DELETE、HEAD、 OPTIONS 和 TRACE)在一个可扩展的 OO 框架。

【讨论】:

  • 不幸的是 HttpClient 不是 Java Microedition 的选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-01
  • 2017-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
相关资源
最近更新 更多