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

北京大丸子 2014-02-20 01:17:27
该帖是站在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

...全文
2319 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
A啦Dbit 2014-06-29
  • 打赏
  • 举报
回复
先收藏备用....
tonyu 2014-06-28
  • 打赏
  • 举报
回复
为什么调用send函数时会出错,说非法调用函数的?
fengxiaohan211 2014-02-21
  • 打赏
  • 举报
回复
感谢分享·········
zjl8008 2014-02-20
  • 打赏
  • 举报
回复
感谢分享!!

662

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder Web 应用
社区管理员
  • Web 应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧