我运行一个站点 A,我希望能够将数据发布到站点 B,该站点托管在不同的子域上。现在我可以完全访问 A,但根本无法修改 B。
我的要求是:
- 支持文件上传
- 在 POST 上不刷新浏览器
- 使用 Windows 集成安全性
- 适用于 IE 7/8(不需要支持任何其他浏览器)
实现这一目标的最佳方法是什么?
我试过的:
理想情况下,这可以在一个简单的 AJAX 调用中完成。但是当前标准不支持发送二进制数据(在 XMLHttpRequest Level 2 标准中支持,IE 中尚未实现)。
所以下一个最好的事情是 POST 到一个隐藏的<iframe>
元素。现在我已经尝试过了,但是站点 B 上的服务器不接受数据。我查看了请求,发现的唯一差异是引用 URL 和集成身份验证。引用 URL 可能必须被欺骗,这无法通过此方法完成。同样由于某种原因,身份验证没有被协商。我不是 100% 确定为什么。
想法:
我正在考虑在我运行的服务器(站点 A)上创建一个代理页面,将请求转发到站点 B。站点 A 也使用集成安全性。我认为这没有任何问题,但我不确定这是否是最好的方法。如果我只是转发请求,会有任何身份验证问题吗?