Java 如何在Android上对HttpURLConnection对象使用自己的方法?

Java 如何在Android上对HttpURLConnection对象使用自己的方法?,java,android,http-method,Java,Android,Http Method,根据此处的void setRequestMethod(String方法)文档: 允许的方法限于: 得到 职位 头 选择权 放 删除 痕迹 我有一个服务器,可以访问邮件列表,其中一个选项是检索下一条邮件: 但是,当我尝试将NEXT作为JavaScript HttpURLConnection中的方法时,我得到一个错误: E/MsgProcessingService:处理消息时失败:java.net.ProtocolException:未知方法“NEXT”;必须是[OPTIONS、GET、HEA

根据此处的
void setRequestMethod(String方法)
文档:

允许的方法限于:

  • 得到
  • 职位
  • 选择权
  • 删除
  • 痕迹
我有一个服务器,可以访问邮件列表,其中一个选项是检索下一条邮件:

但是,当我尝试将
NEXT
作为JavaScript HttpURLConnection中的方法时,我得到一个错误:

E/MsgProcessingService:处理消息时失败:java.net.ProtocolException:未知方法“NEXT”;必须是[OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE]之一

有没有一种非黑客的方法可以绕过这种方法的限制

显然,我可以在我的服务器上创建一个新的访问点,但我希望我不必这样做

GET /api/1/message/next
没有

这些“方法”在中定义。此方法根据常量数组检查字符串

正如规范所说,这些方法可以扩展,但非常罕见

相关的:

  • 如何在Spring中添加自定义HTTP方法:
  • 谷歌云平台:

我想,他们不允许NEXT肯定有一个很好的理由。HTTP规范的哪个版本定义了
NEXT
方法?@commonware WebDAV添加了许多其他方法,为什么你不能用任何类型的web扩展来实现呢@您可以在这里看到Commonware:该方法可以是任何有效的HTTP令牌。因此
NEXT
是完全合法的。“合法”并不意味着所有客户端库都必须支持它。看看是否有一个更宽容的HTTP客户端堆栈(例如,OkHttp,一个独立的ApacheHttpClient库)。。。我可以在
wget
curl
,JavaScript中使用我想要的任何方法。。。这很可悲。哦,你的问题是关于
HttpURLConnection
。好吧,那门课不可能。当然有很多方法可以做到这一点,尽管我不能谈论Android SDK中的可用功能。压倒性的建议似乎是不要这样做。违背惯例是一种风险极高的选择,尤其是在可维护性方面。
GET /api/1/message/next