我们有一个Flash应用程序连接到返回json数据的WCF REST Web服务。您可以让Flash URLRequest/web服务在IE中的代理后面工作吗?
我们对POST请求使用URLRequest/URLLoader,而不是使用像as3httpclientlib这样的套接字的低级库。
该应用程序在正常工作过程中运行良好,但是当我们在公司代理服务器后面(即在Internet Explorer Conenction选项卡中定义了代理时),某些请求正在返回HTTP状态代码502 - DNS查找失败。 (我们使用Fiddler来检查流量)。前几个请求的连接工作正常,但似乎死亡 - 这些502错误。
这可能是什么原因造成的?
我听说使用底层套接字编程可能会导致企业环境中的代理服务器出现问题 - 但这不是我们在这里使用的。
编辑:
经进一步调查(使用招),这是发生了什么事:
- 后的第一个请求。
- 代理返回一个407(缓存请求被拒绝 - 未经认证为proxy)
- 请求与代理授权头
- Proxy会返回某种回报Proxy-Authenticate头的407再次进行。
- 原始请求再次进行 - 这次使用代理身份验证,但我的 授权标头(“授权:用户名:密码”)已被代理剥离,因此请求失败。
不知道如何解决这个问题?
编辑:
我加在ActionScript使用的URLRequest我的授权头。代理服务器正在使用NTLM身份验证。我添加的授权标题已在步骤2中删除。
我发现如果我使用了一个随机名称(如“安全”而不是“授权”)的标题,那么标题未被删除。
如果请求是通过浏览器,通过fiddler,然后被代理拒绝,它不可能是闪存问题。您可以使用提琴手重放请求。你能重现吗?你可以与你的代理管理员聊天,并找出为什么这个请求失败? – Glenn 2009-09-17 11:16:13
我会试一试..不幸的是现在不工作..但明天会尝试。感谢回复。 – dan 2009-09-17 11:56:42
你指的是什么“自定义授权标题”?你是如何添加它的?你怎么能说(或者你认为是什么)代理人剥夺了它?你是说它出现在出站请求(#5)中,但没有发送到服务器?或者它不在出站请求#5中? 正在使用什么类型的身份验证响应407(NTLM/Negotiate?) – EricLaw 2009-09-18 15:15:45