首页 > 解决方案 > 从 HttpURLConnection 获取实体主体

问题描述

我目前正在编写一个小库来标准化HttpURLConenction's 在我的 android 项目中的使用。

在我的一个项目中,我正在使用 Http Digest 与服务器通信以验证用户身份。默认的 javaHttpUrlConnection不支持摘要,但我设法编写了一个简化的摘要 auth (qop=auth),它工作得很好。

对于未来的项目,我想让我的库使用 auth-int。因此,我需要修改 A2 哈希的构造并包含 HTTP 实体主体(请参阅 RFC 7616 第 3.4.3 节)。

为此,我考虑从 中提取完整的 HTTP 请求URLConnection,然后丢弃不需要的东西。不幸的是,我无法找到一种方法来做到这一点。.getContentEncoding()可以通过、.getContentLength()等来提取单个标头字段.getContentType()。但是有了这个,我不能确保我用 get 方法重建的实体的顺序与请求中的顺序相同,这可能会导致 401。

把它们加起来:

有没有办法从 a 中提取完整的请求(或者更好的是只有实体主体)HttpURLConnection

标签: httphttpurlconnectiondigest-authentication

解决方案


推荐阅读