当前位置:  开发笔记 > Android > 正文

使用Flash进行基本认证

如何解决《使用Flash进行基本认证》经验,为你挑选了1个好方法。

太不可思议了!Flash程序员熟悉这个例子:

var req:URLRequest = new URLRequest("http://yoursite.com/yourservice.ext");
req.method = URLRequestMethod.POST;
req.data = new URLVariables("name=John+Doe");

var encoder:Base64Encoder = new Base64Encoder();        
encoder.encode("yourusername:yourpassword");

var credsHeader:URLRequestHeader = new URLRequestHeader("Authorization", "Basic " + encoder.toString());
req.requestHeaders.push(credsHeader);

var loader:URLLoader = new URLLoader();
loader.load(req);

好的......太棒了...真的很有效.如您所见,我手动添加标头授权进行基本HTTP身份验证.但是......如果我将请求metod从POST更改为GET,则不会生成标头.

有没有人知道解决方案?1000x thx!



1> Avi Flax..:

令您惊讶的是,您甚至能够通过POST请求处理它。在2007年12月,Flash Player已更新为明确禁止Authorization header。我想他们以后可能会重新允许这样做。但是我对此感到惊讶。编辑:根据@derFunk的评论,事实是实际上随后随后允许了标头,尽管在将其发送到其他域时必须在中明确允许crossdomain.xml

除了Authorization标头的特定问题之外,我非常确定Flash Player只会发送带有POST请求的自定义请求标头。抱歉,我没有为此提供的链接,但是在我公司,我们广泛使用Flash Player来与Restful Web服务一起使用,并且我们必须实现各种变通办法才能使事情正常进行。

最重要的是,Flash Player具有对HTTP的强大支持。实际上,我们的解决方法是通过发送request标头来激活的,该标头X-Crippled-Client: true告诉我们的服务以混乱的方式解释请求并发送响应。屁股上真是痛苦。

抱歉,我不能提供更多帮助……祝您好运!

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有