加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-phone-8 – WWW.responseHeader [“STATUS”]不存在

发布时间:2020-12-13 20:13:31 所属栏目:Windows 来源:网络整理
导读:我已经在 answers.unity3d问了,但由于没有回应,我也会在这方面问 我无法在Windows Phone 8和Windows RT 8.1上的WWW对象上检索到响应的http状态(在IOS / Android上可以). www.responseHeader [“STATUS”]不存在,隐藏字段_responseHeaderString不包含第一行 H
我已经在 answers.unity3d问了,但由于没有回应,我也会在这方面问

我无法在Windows Phone 8和Windows RT 8.1上的WWW对象上检索到响应的http状态(在IOS / Android上可以).

www.responseHeader [“STATUS”]不存在,隐藏字段_responseHeaderString不包含第一行

HTTP/1.1 200 OK

responseHeaderString:

Server: nginx
Date: Wed,21 Oct 2015 07:44:36 GMT
Last-Modified: Mon,07 Sep 2015 11:43:46 GMT
Connection: keep-alive
Expires: Fri,20 Nov 2015 07:44:36 GMT
Cache-Control: max-age=2592000
Cache-Control: public

responseHeader:

{
    "SERVER"       : "nginx"
    "DATE"         : "Wed,21 Oct 2015 07:44:36 GMT"
    "LAST-MODIFIED": "Mon,07 Sep 2015 11:43:46 GMT"
    "CONNECTION"   : "keep-alive"
    "EXPIRES"      : "Fri,20 Nov 2015 07:44:36 GMT"
    "CACHE-CONTROL": "public"
}

要重现的示例代码:(在一个空的新项目上测试)

WWW www = new WWW("http://www.google.com");

yield return www;

Debug.Log("Google Status : " + www.responseHeaders.ContainsKey("STATUS")); // False
Debug.Log(www.text); // <doctype ...
Debug.Log(www.responseHeaders["STATUS"]); // KeyError

我错过了什么,还是有人可以将这个确认为一个bug?

编辑:
仍然无法使用最新的5.3检索http状态

您的网络服务器可能会响应每个设备的不同(意外)响应.由于各种原因,例如用户代理字符串,这可能导致WWW类不能获得STATUS.

首先,我将安装代理,以便您可以准确地看到手机发送的内容以及服务器原始响应的内容. Charles Proxy(mac / windows)或Fiddler(windows)都很棒.

以下是Unity WWW类用于生成状态的实际代码:

if (num++ == 0 && text.StartsWith("HTTP"))
        {
            dictionary["STATUS"] = text;
        }

参考:https://github.com/MattRix/UnityDecompiled/blob/master/UnityEngine/UnityEngine/WWW.cs#L483

从代理,应该清楚发生了什么.如果没有,请在此处张贴请求和回复(原始).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读