PB采用https方式访问,提交方式为POST,在网上找了一个例程,但不知为什么到send函数时说非法调用函数,请哥们指导一下,谢谢(小弟的QQ是:623868893)。
String ls_url,ls_data,ls_response
//采用https的URL
ls_url = 'https://192.168.142.245/JoyCard/coreServlet'
OleObject lole_tenyear //声明ole
lole_tenyear = CREATE oleobject
lole_tenyear.ConnectToNewObject("Microsoft.XMLHttp") //帮顶XMLhttp组件,我测过xp和win7都自带,不需安装任何辅助软件如.net环境
lole_tenyear.open ("POST",ls_url, false) //参数解释请看:
//http://blog.csdn.net/ldl22847/article/details/9662927
lole_tenyear.setRequestHeader ("Content-type", "application/x-www-form-urlencoded")
lole_tenyear.setRequestHeader('Content-Length',string(len(ls_data)))
//lole_tenyear.send ('')
lole_tenyear.send (ls_data) //关键是这一步:如果你的https的环境没有安装浏览器的认证的根证书,一定会报错退出,如果你申请安装了verisign等权威机构发的根证书,用ie打开上面的https,就不会报红色警告(问你是不是继续)。但pb不会提示你是不是继续,直接报错退出。verisign的证书一年好像要1万-10万元的服务费。在这里你如果想测试一下,你可以把上面的https地址换成https://www.alipay.com/ (支付宝的),不会报错的。注意:这里的证书及验证都是单向验证,不是双向的。
ls_response = lole_tenyear.responseText //返回结果
messagebox("",ls_response)
IF lole_tenyear.Status >= 300 THEN
MessageBox ("HTTP request failed:", lole_tenyear.StatusText ,Exclamation!,OK!)
END IF
------解决方案--------------------
关键是这一步:如果你的https的环境没有安装浏览器的认证的根证书,一定会报错退出,如果你申请安装了verisign等权威机构发的根证书,用ie打开上面的https,就不会报红色警告(问你是不是继续)。但pb不会提示你是不是继续,直接报错退出。verisign的证书一年好像要1万-10万元的服务费。在这里你如果想测试一下,你可以把上面的https地址换成https://www.alipay.com/ (支付宝的),不会报错的。注意:这里的证书及验证都是单向验证,不是双向的。
你这里不是说了吗,需要证书才可以
------解决方案--------------------
以下是VB的代码,请参考
Dim objXMLHTTP, xml
'Create & initialize the XMLHTTP object
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
sRemoteURL = "https://www.eProcessingNetwork.Com/cgi-bin/tdbe/transact.pl"
'Open the connection to the remote server
xml.Open "POST", sRemoteURL, False
'Send the request to the eProcessingNetwork Transparent Database Engine
xml.Send "ePNAccount=05971&CardNo=05971&ExpMonth=10&ExpYear=01" & _
"&Total=12.95&Address=123&Zip=12345&HTML=No"
'store the response
sResponse = xml.responseText