一个web服务器怎样向另一个web服务器提交一个一页面
有一种做法是这样的,要传递的参数先返回客户端,然后由客户端浏览器提交,但这实际上是绕了个圈,且不够安全。
就好比现在的网上支付系统,客户先在一个公司的网页选择商品,然后到银行的网页付款,最后把付款成功与否的信息返回该公司,最后一步实际上是银行向公司请求一个页面,与客户无关。我就想知道这最后一步是怎么做的
问题点数:200、回复次数:17Top
1 楼ChinaOk(农村表哥)回复于 2002-05-20 10:44:27 得分 10
和银行系统应该有一个协议。然后去按照它的要求区做就好了。
不知道那位真的做过的可以谈谈经验
Top
2 楼wangfei2428(龙飞)回复于 2002-05-20 11:02:14 得分 10
我们公司也有使用代理网上支付的系统,不过要与银行协商,而且对于网站的信息安全传输时有特殊的加密密钥算法,好象是银行自己开发的,总之与银行联系即可Top
3 楼wjying(葡萄)回复于 2002-05-20 11:06:50 得分 0
公司这边怎么做我已经知道了,但我想知道银行那头是怎么做的,Top
4 楼saucer(思归)回复于 2002-05-20 13:25:07 得分 0
你这种到银行付帐的做法有点奇怪
一般的做法是这样的,银行或中介公司提供网上接口,售物公司与之达成协议。当用户在售物公司网站付帐时,用户提供帐号或信用卡信息,售物公司服务器端通过上述接口向银行或中介公司提出请求,经验证/批准后,售物公司服务器端向用户返回信息,其中可能包括供用户以后查对的认征号码什么的
Top
5 楼freezwy(网络自由人)回复于 2002-05-20 13:29:44 得分 10
其实和现在的短信一样,就是在最后的时候,把表单的ACTION设为其他服务器的地址的处理程序就可以的。
<form name=xx action="http://www.tjinfo.com/save.asp" method="post">
...
</form>Top
6 楼wjying(葡萄)回复于 2002-05-20 14:04:07 得分 0
To saucer(思归)
现在银行的做法并不是你所说的,用户的帐号,信用卡还有密码这些敏感信息不会再公司的网页里让用户输入,公司会先生成一张订单,然后把订单号公司网页的URL以及相关信息告诉银行,然后把用户重定位到银行,用户在银行的网页完成付款,银行在把付款成功的信息回馈给公司
注意:最后一步是和用户无关的
最早以前银行回馈给公司信息的做法是在公司的服务器上专门开一个服务程序
现在的做法是银行请求公司一个asp或jsp网页Top
7 楼ChinaOk(农村表哥)回复于 2002-05-20 14:08:10 得分 0
银行那边就应该你们协商来约定了吧Top
8 楼wjying(葡萄)回复于 2002-05-20 14:17:07 得分 0
我不清楚银行这最后一步回馈给公司信息是怎么做的,
实际上等于在银行服务器上开个浏览器然后访问公司的网页
可能我问题不能直接用asp来实现,需要调用其他的组件(如com),但和asp还是有些相关的,不知道谁有这方面开发的经验,
(另:我做的并不是付款系统,只是要实现这样的功能,拿它来作例子)Top
9 楼saucer(思归)回复于 2002-05-20 14:20:28 得分 0
那你想知道什么?
当售物公司向银行重新定向时,同时向银行网页提供了转向的网页地址,当银行网页处理完毕用户付款后,银行的服务器端编码redirect用户到售物公司的网页地址Top
10 楼saucer(思归)回复于 2002-05-20 14:25:40 得分 150
与远程网页打交道很容易,用MSXML3或MSXML4里的MSXML2.ServerXMLHTTP组件即可实现Top
11 楼wjying(葡萄)回复于 2002-05-20 14:38:22 得分 0
to saucer(思归)
谢谢,我去试试Top
12 楼wjying(葡萄)回复于 2002-05-20 17:41:43 得分 0
调试了一段代码
http://someserver/try.asp
<%@language=Jscript%>
<%
var objSrvHTTP;
var objXMLSend;
var objXMLReceive;
objSrvHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0");
objXMLSend = Server.CreateObject("MSXML2.DOMDocument.4.0");
objXMLReceive = Server.CreateObject("MSXML2.DOMDocument.4.0");
objXMLSend.async = false;
objXMLSend.loadXML ("<msg><id>2</id></msg>");
objSrvHTTP.open ("POST","http://someserver/relevant.asp",false);
objSrvHTTP.send (objXMLSend);
objXMLReceive = objSrvHTTP.responseXML;
Response.ContentType = "text/xml";
Response.Write (objXMLReceive.xml);
%>
http://someserver/relevant.asp
<%@language=JScript%>
<% var xmlDoc = new ActiveXObject("Msxml2.XMLHTTP.4.0");
xmlDoc.load(Request);
response.write server.HTMLEncode("<?xml version='1.0' encoding='GB2312'?><detail>sdfsadf</detail>");
%>
但是总是提示错误
msxml4.dll 错误 '80072ee2'
The operation timed out
/try.asp,行14
objSrvHTTP.send (objXMLSend);
什么地方不对阿Top
13 楼saucer(思归)回复于 2002-05-20 20:15:18 得分 0
cannot tell where the problem is, but try
objSrvHTTP.open ("POST","http://someserver/relevant.asp",false);
objSrvHTTP.setRequestHeader("Content-Type","text/xml");
objSrvHTTP.send (objXMLSend.xml);
Top
14 楼Lostinet(Hello)回复于 2002-05-20 20:34:03 得分 10
。。。
思想有问题吧。。
哪里是银行通知商业网站哦。。
应该是银行记录了关联了的定单。
客户要定时询问银行是否有业务改动才正常。
就好象聊天室,
不是服务器通知客户端有新的聊天语句了。
而是客户端要主动想服务器问。
Top
15 楼wjying(葡萄)回复于 2002-05-21 12:04:30 得分 0
我找到原因了,是设置的问题,2个网页不能放在同一个web站点上
但不知道这是为什么,
以下是我调试通过的代码
http://it-ying:8080/relevant.asp
<% Response.expires=0
set xmlDoc = server.CreateObject("MSXML2.DOMDocument.4.0")
xmlDoc.async = false
'xmlDoc.load(Server.MapPath("news.xml"))
xmlDoc.load(Request)
Response.ContentType = "text/xml"
xmlDoc.save(Response)
set xmlDoc=nothing
%>
http://it-ying:8081/try.asp
<%@language=Jscript%>
<%
Response.Expires=0
var objSrvHTTP;
var objXMLSend;
var objXMLReceive;
objSrvHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0");
objXMLSend = Server.CreateObject("MSXML2.DOMDocument.4.0");
objXMLReceive = Server.CreateObject("MSXML2.DOMDocument.4.0");
objXMLSend.async = false;
objXMLSend.loadXML ("<msg><id>2</id></msg>");
objSrvHTTP.open ("POST","http://it-ying:8080/relevant.asp",false);
objSrvHTTP.send (objXMLSend);
objXMLReceive = objSrvHTTP.responseXML;
Response.Write (objXMLReceive.xml);
%>
Top
16 楼wjying(葡萄)回复于 2002-05-21 12:09:45 得分 0
to lostinet:
现在的工行,招行等都是那样做的
Top
17 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-22 14:31:59 得分 10
目前的做法并不是商户给银行后台发送,而是生成一个form,让客户点一下Top
18 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-22 14:33:37 得分 0
目前的做法并不是商户给银行后台发送,而是生成一个form,让客户点一下Top
19 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-22 14:34:36 得分 0
目前的做法并不是商户给银行后台发送,而是生成一个form,让客户点一下Top




