关于https访问POST提交的问题
tonyu 2014-06-28 06:09:29 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