Apache flex 在使用HTTPService或URLRequest时,如何避免Flex中的身份验证对话框?

Apache flex 在使用HTTPService或URLRequest时,如何避免Flex中的身份验证对话框?,apache-flex,rest,restful-authentication,Apache Flex,Rest,Restful Authentication,这是有关的。我正在编写一个使用REST的Flex应用程序(WindowedApplication)。当我发布有效的身份验证时,一切都很好,但是如果我碰巧将无效的用户名或密码传递给RESTAPI(具体来说是一个Twitter RESTAPI),就会弹出一个身份验证对话框 这不是一种理想的用户体验,当我使用HTTPService和URLRequest时都会发生这种情况。似乎没有我可以捕捉到的取消对话框的事件 我的代码是这样的: var request:URLRequest = new URL

这是有关的。我正在编写一个使用REST的Flex应用程序(WindowedApplication)。当我发布有效的身份验证时,一切都很好,但是如果我碰巧将无效的用户名或密码传递给RESTAPI(具体来说是一个Twitter RESTAPI),就会弹出一个身份验证对话框

这不是一种理想的用户体验,当我使用HTTPService和URLRequest时都会发生这种情况。似乎没有我可以捕捉到的取消对话框的事件

我的代码是这样的:

    var request:URLRequest = new URLRequest('http://twitter.com/statuses/update.json');
    request.method = URLRequestMethod.POST;
    var encoder : Base64Encoder = new Base64Encoder();
    encoder.encode(this.user + ':' + this.password);
    request.requestHeaders.push(new URLRequestHeader("Authorization", "Basic " + encoder.toString()));
    var params:Object = new Object();
    params.status = msg;                
    request.data = params;

    var loader:URLLoader = new URLLoader();
    loader.addEventListener(Event.COMPLETE, HandleRequestComplete);
    loader.load(request);
我错过什么了吗?有没有更好的方法来解决这个问题?

来自Twitter API文档:

抑制\u响应\u代码:如果 参数存在,所有响应 将返回200 OK状态 代码偶数错误。此参数 存在以容纳闪存和 在中运行的JavaScript应用程序 拦截所有非200的浏览器 响应。如果使用,则是作业 用于确定错误的客户端 通过解析响应体进行状态设置。 小心使用,因为这些错误 消息可能会改变


我不知道这是否适用于普通的Flex应用程序,但在AIR应用程序中,您可以将允许的响应代码列表设置为有效

这是因为您的URL请求正在处理身份验证。要避免这种情况,请执行以下操作:

request.authenticate = false;
问候

阿兰