【发布时间】:2014-10-09 01:59:45
【问题描述】:
我遇到的问题是我们无法从 Unity.WWW 类中很好地获取 HTTP 响应代码。 目前,在调用 REST API 后,我们正在读取状态码的以下属性。
request.responseHeaders["STATUS"]
但有时这是空的。例如,对于 401 响应,它是空的,在这种情况下请求确实包含错误,但在许多设备上错误是不同的。所以你不能以此为基础。
有人知道如何解决这个问题吗?
注意:我不能使用资产商店中的任何插件,因为我们需要分发它。所以我正在寻找一种编码解决方案或另一种可以在 Android 和 IOS 上统一工作的方法。
提前致谢!
编辑:
特此返回 401 响应的错误,示例错误: “java.io.IOException:未找到身份验证挑战”或“java.io.IOException:收到的身份验证挑战为空”
【问题讨论】:
-
我不确定你在问什么(也许显示你到目前为止尝试过的内容)。无论如何 1:在 www 类下载所有数据之前,响应标头不可用。 2:您是否正在测试生成的响应字符串?如果这是你的 rest api,为什么不提供一个你可以解析的智能响应字符串。另外,您遇到了什么错误?
-
感谢回复@Rudolfwm,我知道第 1 点,但是当返回响应标头时,Web 服务返回 401。它没有状态码,只有请求中的错误文本.Error 以:“Java.io”开头(参见编辑后的帖子)Java.io 错误根据 Java 版本(?)而变化。现在我想知道获取 responseHeaders [“Status”] 是否正确?如果是,为什么没有统一记录?如果没有,你会建议哪种方法?顺便说一句,WWW 调用正常(通常)。只有在返回 401 时才会出错。
-
检查this 问题。你在使用身份验证吗? (您的服务器似乎是这么认为的)\.
-
今天的英雄。还没有测试它。但这肯定是原因。由于我们不响应任何 WWW-Authenticate 标头,我们使用自定义安全协议。我会看看我是否添加一个假的作为解决方法。或者如果我将其更改为 403 状态代码。
-
@Rudolfwm,请添加一个带有指向另一个问题的链接的 anwser。或者你写的,所以我可以接受。正如你应得的积分;)
标签: android ios unity3d http-response-codes