【问题标题】:Flash upload request automatic retry via HTTPS on 407 errorFlash 上传请求通过 HTTPS 自动重试 407 错误
【发布时间】:2013-08-14 09:40:29
【问题描述】:

我们在我们的 ASP.NET 应用程序中使用了一个 Flash 上传器,它适用于我们的大多数客户。但是,对于一些在其组织中设置了代理服务器的人来说,上传会间歇性地失败,从而导致崩溃。在调查该问题时,我发现这是由于代理服务器发起的“需要 407 身份验证”请求。当我们尝试切换在 HTTPS 下运行的整个网站时,这个问题似乎得到了解决,但是这在整个应用程序中引发了其他一些 500 错误。作为临时修复,我只为上传组件启用了 HTTPS,使网站在 HTTP 下运行。现在这似乎解决了问题。

但由于我期待永久修复,我正在考虑在我的 Flash 代码中处理代理异常 (407) 并尝试通过 HTTPS 调用重新发出它(但不确定是否允许这样做)。当我尝试处理 HTTPStatusEvent 时,我使用提琴手正确地得到了异常,但是即使我通过 HTTPS 强制上传请求,也没有进一步的请求。请在下面找到我正在执行的代码示例(ActionScript Flex 3)

_file.addEventListener(HTTPStatusEvent.HTTP_STATUS ,OnHttpError);

私有函数 OnHttpError(event:HTTPStatusEvent):void{ if (event.status==407){ 上传(真); } 别的{ HandleExceptions("Http 错误:",event.status,"" ); } this.dispatchEvent(事件); } 公共函数上传(enableHttps:Boolean=false):void{ _上传=真; _bytesUploaded = 0;

        var uploadURLTemp:String = _uploadUrl;
        if(enableHttps==true){
            uploadURLTemp = uploadURLTemp.replace("http://","https://");

        }
        _file.upload(new URLRequest(uploadURLTemp));


    }

_file 对象是一个 FileReference 对象,_uploadURL 是服务器中的上传处理程序 url。我不确定我是否被允许这样做,或者有没有更好的方法来处理这个问题。

任何想法或想法将不胜感激

问候

谢林

【问题讨论】:

    标签: flash authentication upload


    【解决方案1】:

    就您遇到的错误而言,我同意这听起来像是后端问题,而不是 Flash 问题。

    一般来说,在 flash 中执行 HTTPS 调用最困难的部分是设置和加载 crossdomain.xml 策略。如果您正在进行的这些 https 调用正常工作,那么我假设您已正确配置所有内容。

    但是,如果您还没有,这里有很多事情需要考虑:

    • 在通过 HTTP 加载 .SWF 时以 HTTPS 联系服务器可能需要 crossdomain.xml
    • 如果您的受保护内容托管在诸如secure.mywebsite.com 之类的子域上,则SWF 可能没有适当的权限(缺少或配置不正确的crossdomain.xml) 来访问www.mywebsite。 com,反之亦然。

    但由于我期待永久修复,我正在考虑在我的 Flash 代码中处理代理异常 (407) 并尝试通过 HTTPS 调用重新发出它(但不确定是否允许这样做)。

    只要 SWF 加载了有效且正确配置的 crossdomain.xml 文件,您就可以随意调用或重新调用 http、https 甚至套接字连接。

    我只是想知道,由于 HTTP 对您来说似乎不稳定,在您解决代理问题之前,简单地使用 https 可能会更容易。

    【讨论】:

    • 谢谢。但我的问题不是我无法通过 HTTPS 联系服务器。我可以毫无问题地做到这一点(如果在加载页面时使用 https 设置了 _uploadUrl)。我遇到的问题是我在 HTTP 协议中设置了 _uploadUrl,并在发生 407 异常时尝试在 HTTPS 中自动重新发出。在这种情况下,它根本不做任何事情。(只是放弃)。希望现在很清楚
    猜你喜欢
    • 2017-10-12
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2013-11-01
    • 2015-03-27
    相关资源
    最近更新 更多