VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
XMLHTTP 发送HTTP请求失败的可能性分析(二) 一种极端情况

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

XMLHTTP发送HTTP请求失败的可能性分析

          () 一种极端情况

TomoSoft ID Number: Q20011125

Article last modified on 11-25-2001

 


The information in this article applies to:

  • Microsoft XML, versions 2.6, 3.0, 3.0 sp1

 

提要

鉴于使用XMLHTTP对象和ServerXMLHTTP对象时,牵涉面比较广。所以为了更好地驾驭这两个对象,我们应该更多地关注以下关键词:

OWAExchange 2000 ServerIE Security SettingProxy Setting

本文继续谈及访问被拒绝的一种可能性。

通过这种极端情况,可以说明,有许多问题的产生可能和你所使用的工具无关,不是你的错。

Access Is Denied

第一种情况

我们先讲一个关于OWA的故事。

现在你刚装了Exchange 200 Server。在IE中,你键入如下形式的URL

http://<servername>.<company>.com/exchange/<username>

于是出现了OWA的访问界面。

你点击“Public Folders”的按钮试图去访问Exchange的公共文件夹。

但是返回了这样的错误信息:

Access is denied. Your browser security settings will not allow access to this folder from this page.

  M 这就是因为你使用了Fully Qualified Domain Name(FQDN)!

当你使用FQDN去访问OWA时,你的树状图的页面连的是<ServerName>.<Company>.com,而在此页上公共文件夹的位置却被设为了<ServerName>

所以,我们的IE浏览器就自作主张地把这种访问解释为了:跨域访问(Cross-Domain)! L

而缺省情况下,IE的安全设置中,是禁止在Internet中进行跨域通信的!L

 

故事讲到这里,你一定知道在什么情况下,用XMLHTTP对象提交HTTP操作会遭遇到访问禁止的待遇了吧。

我们假设你这么做,你当前出发的地方是被设置为<ServerName>的宿主,但是你却想去访问<ServerName>.<company>.com的资源,或者向它提交HTTP请求。于是你就会得到“访问禁止”的反馈。反过来,也一样。

(这里的假设我并没有试验过,请大家自行验证。)

解决的方法有三个:

Ð 第一个:

最简单的办法就是,把所有这些访问形式统一起来,要么<ServerName>,要么<ServerName>.<Company>.com

对于刚才讲过的故事,我们只需要用http://<ServerName>.<Company>.com/public去访问公共文件夹即可。不过对于这个Bug,大家可能无法重现了,因为Exchange 2000SP1已经解决了它。

 

Ð 第二个:

安装你的Exchange 2000 Server为前端-后端的形式,这样前端服务器可以接受客户端的请求,并将其代理到适当的后端服务器上。

 

Ð 第三个:

如果你当前正在使用SSL,你就可以在IE的设置中作以下操作,以允许你的站点能够跨域访问:

1.              Internet选项卡上,查看Security页,点击“信任站点”,再点击“站点”;

2.              把你的站点加入进去;

点击“自定义级别”,在“其他”下的“通过域访问数据资源”下,选中“启用”(原先肯定是禁用的),如下图所示:


相关文章

相关软件