0

正如问题所暗示的那样,我正在尝试将 Android 设备连接到带有 websockets 的 Digest 安全服务器,但我不断收到 401 Unauthorized 返回。

我已经设法使用 apache.http(它支持 Digest)向同一台服务器发布和获取,并且可以通过返回在初始请求期间收到的 cookie 来继续发送这些基本命令,但是当我发送它们时这些相同的 cookie 不起作用websocket 握手。

我已经嗅探了数据包,并且可以看到,正如预期的那样,即使成功的连接也以 401 开头,apache 库从中提取必要的信息并重新发送带有所有摘要哈希等的 Authorization 标头。这将返回一个新的、已批准的响应与我正在抓取和存储以备将来使用的 cookie 一起使用。

我的假设是,在从 http:// 地址更改为 ws:// 地址时,我需要重新进行身份验证,但我还没有找到支持身份验证的 android websocket 库,而且我发现并测试过的库不要让我看到了服务器的 401 响应(再次,通过嗅探两者之间的数据包看到它存在,并且它包含生成新摘要响应所需的所有信息,即使这意味着我自己编写它)。

任何帮助/建议将不胜感激。

我仍然有开放的相关但不成功的问题:

使用身份验证 cookie 打开 WebSocket 连接

Android 中的 Websocket 和 cookie

测试库:

高速公路

Android异步

Java-Websocket(目前正在推进)

4

0 回答 0