当前位置: 代码迷 >> PB >> 分享帖:解决了pb与https的服务器交互有关问题
  详细解决方案

分享帖:解决了pb与https的服务器交互有关问题

热度:84   发布时间:2016-04-29 05:37:19.0
分享帖:解决了pb与https的服务器交互问题
该帖是站在AFIC和版主提供的原始帖上的
http://bbs.csdn.net/topics/390552901
http://bbs.csdn.net/topics/390695513

首先看afic的原代码:


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 


destroy lole_tenyear 


------解决方案--------------------
感谢分享!!
------解决方案--------------------
感谢分享·········
  相关解决方案