如何用HttpClient模拟IE的“通过域访问数据资源”功能?

悬赏:15 发布时间:2008-06-25 提问人:ueseu (初级程序员)

昨天来交行对接接口。发现交行的网页需要打开“通过域访问数据资源”功能才能正常使用。
打开方法:
引用
请打开您的浏览器Internet选项,切换到“安全”选项页,选中Internet区域,单击“自定义级别”按钮,在弹出的对话框中找到“其他”类别下的“通过域访问数据资源”,将其选择为“启用”状态,确定保存后刷新本页面即可。

代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META HTTP-EQUIV="Expires" CONTENT="0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<head>    
  <title>交通银行内部网</title>
  <script src="/static/js/prototype.js" type="text/javascript"></script>
</head>
<body>



<script language="javascript">

	function postForm(){
		window.location="http://intranet.bankcomm.com/cms/servlet/ServletGate?op=Portal_Login_Forward&cur_page=DummyPage&target=BC_APPLICATION2";
	}
	var url = "http://mydesktop.bankcomm.com/amserver/login?module=LDAP&TOKEN0=user&TOKEN1=password&gotoOnFail=http://zonghang.bankcomm.com/bankcomm/&goto=http://zonghang.bankcomm.com/bankcomm/";
	var pars = "TOKEN0=aaaa&TOKEN1=123456";
	
	var myAjax = new Ajax.Request(
    url,
    {method: 'post', parameters: pars, onComplete: postForm}
    );
</script>
跳转中,请稍候……<br><br>
若您无法正确跳转到目标网站,请打开您的浏览器Internet选项,切换到“安全”选项页,选中Internet区域,单击“自定义级别”按钮,在弹出的对话框中找到“其他”类别下的“通过域访问数据资源”,将其选择为“启用”状态,确定保存后刷新本页面即可。
</body>
</html>


可以看到上面的代码中,先用Ajax访问某地址并做域登录,如果跳过Ajax这一步,目标网页无法打开。
无法使用FireFox打开目标网页。

现在我使用HttpClient模拟IE浏览器,却不知道如何实现该功能,望有经验的提供帮助。
问题补充:
应该是单点登录(SSO)问题, 上面的代码中有两个不同的域:
intranet.bankcomm.com和mydesktop.bankcomm.com

我想要的答案是:
如何使用HttpClient实现IE的“通过域访问数据资源”安全设置功能?
该问题已经关闭: 想跟 jasongreen 说那不是我想要的,却无法回复,这种问答方式让人不爽了

回答

你要的是这个吗?
http://www.itpub.net/viewthread.php?tid=988950
jasongreen (高级程序员) 2008-06-25