首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >闪存上传请求通过HTTPS自动重试407错误

闪存上传请求通过HTTPS自动重试407错误
EN

Stack Overflow用户
提问于 2013-08-14 01:06:14
回答 1查看 392关注 0票数 0

我们在我们的ASP.NET应用程序中使用了一个闪存上传器,它对我们的大多数客户端都很好。然而,对于一些在其组织中安装了代理服务器的用户来说,上传失败会导致系统崩溃。在调查这个问题时,我发现这是由于代理服务器发起的"407身份验证所需“请求造成的。当我们尝试切换在HTTPS下运行的整个网站时,这个问题似乎已经解决了,但这在整个应用程序中引发了其他500个错误。作为临时修复,我只为上传组件启用了HTTPS,使站点在HTTP下运行。这似乎解决了这个问题。

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

_file.addEventListener(HTTPStatusEvent.HTTP_STATUS,OnHttpError); 私有函数OnHttpError(事件:HTTPStatusEvent):void{ if (event.status==407){ Upload(true);} HandleExceptions("Http错误:",event.status,"“);}this.dispatchEvent(事件);}公共函数上传(enableHttps:Boolean=false):void{ _uploading = true;_bytesUploaded = 0;

代码语言:javascript
复制
        var uploadURLTemp:String = _uploadUrl;
        if(enableHttps==true){
            uploadURLTemp = uploadURLTemp.replace("http://","https://");

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


    }

_file对象是FileReference对象,_uploadURL是服务器中的上传处理程序url。我不知道我是否获准这样做,或是否有更好的方法来处理这件事。

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

问候

谢林

EN

回答 1

Stack Overflow用户

发布于 2013-08-14 01:40:29

至于您正在经历的错误,我同意这听起来像是后端问题,而不是Flash问题。

一般来说,在闪存中执行HTTPS调用最困难的部分是设置和加载crossdomain.xml策略。如果您正在进行的这些https调用是有效的,那么我假设您已经配置好了所有的东西。

但是,如果您还没有这样做的话,这里有一些事情需要考虑:

  • 当通过HTTP加载.SWF时,在HTTPS中与服务器联系可能需要一个crossdomain.xml
  • 如果您的安全内容托管在子域(如secure.mywebsite.com )上,则SWF可能没有访问www.mywebsite.com的适当权限(缺乏或配置不当的crossdomain.xml),反之亦然。

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18221643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档