【问题标题】:How to do requests in Unity for android/IOS and get HTTP response codes如何在 Unity 中为 android/IOS 执行请求并获取 HTTP 响应代码
【发布时间】: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


【解决方案1】:
 Example errors: "java.io.IOException: No authentication challenges found" or "java.io.IOException: Received authentication challenge is null"

显然,您的服务器正在某处使用身份验证。请参阅this答案中的解释和解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 2011-12-21
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    相关资源
    最近更新 更多