如何实现HTTPS访问证书非法的网站?

xufxuf 2019-10-10 01:01:24
目前需要向一个网站上下单,必须https+POST方式连接。PB的inet不支持HTTPS(错误码 -5 Unsupported secure (HTTPS) connection attempted),所以肯定不能用。
如果有合法证书,那么可以用Ole对象Microsoft.XMLHttp来解决,可以看文档:
http://blog.csdn.net/ldl22847/article/details/9662927

对此开发代码:

OleObject lole_tenyear //声明ole
lole_tenyear = CREATE oleobject
lole_tenyear.ConnectToNewObject("Microsoft.XMLHttp")
lole_tenyear.open ("POST",ls_url, false)
lole_tenyear.setRequestHeader ("Content-type", "application/x-www-form-urlencoded")
lole_tenyear.setRequestHeader('Content-Length',string(len(ls_data)))
lole_tenyear.send(ls_data) //对方不是合法证书,就崩溃
ls_response = lole_tenyear.responseText //返回结果
IF lole_tenyear.Status >= 300 THEN
MessageBox ("HTTP request failed:", lole_tenyear.StatusText ,Exclamation!,OK!)
END IF
destroy lole_tenyear


可是,那个网站没有合法证书,于是运行到“send(ls_data)”就崩溃了,原因就是证书不合法。那么还有什么办法可以忽略证书不合法,正常执行下去呢?请教高手指导。

...全文
582 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pcwe2002 2020-01-16
  • 打赏
  • 举报
回复
pb8 2020-01-14
  • 打赏
  • 举报
回复
url和data提供一下,我模拟提交试试,以前用过类似的办法,https通讯无压力
xufxuf 2020-01-13
  • 打赏
  • 举报
回复
引用 6 楼 pb8 的回复:
在lole_tenyear.open ("POST",ls_url, false) 后,增加一行代码 lole_tenyear.Option[4] = 13056
这句不行的,运行到此处会报错: --------------------------- PowerBuilder application execution error (R0036) --------------------------- Application terminated. Error: Name not found accessing external object property option at line 74 in ue_post_retstr_ansi event of object nvo_internet_main. --------------------------- 确定 --------------------------- 在lole_tenyear 下没有opiton这个属性。 我还尝试了 lole_tenyear.object.Option[4] = 13056 也不行,没有object这个属性。 很绝望啊。
pb8 2019-11-20
  • 打赏
  • 举报
回复
在lole_tenyear.open ("POST",ls_url, false) 后,增加一行代码 lole_tenyear.Option[4] = 13056
PackChen 2019-11-19
  • 打赏
  • 举报
回复
引用 4 楼 xufxuf 的回复:
[quote=引用 2 楼 PackChen 的回复:]
API或者用别的方式处理,OLE需要合法证书,这是MS要求的


唉,就是不知道别的办法啊。[/quote]
有,用VS写个COM,然后PB调用,似乎只能这样而已
xufxuf 2019-11-15
  • 打赏
  • 举报
回复
引用 2 楼 PackChen 的回复:
API或者用别的方式处理,OLE需要合法证书,这是MS要求的
唉,就是不知道别的办法啊。
xufxuf 2019-11-15
  • 打赏
  • 举报
回复
引用 1 楼 qiuvsking 的回复:
你说的是指报了一个错吧,好像是什么运行时错误,这应该不是证书的问题,是你访问的资源不存在。
不是那个资源不存在,只是因为那个资源的证书问题。
PackChen 2019-11-08
  • 打赏
  • 举报
回复
API或者用别的方式处理,OLE需要合法证书,这是MS要求的
qiuvsking 2019-10-30
  • 打赏
  • 举报
回复
你说的是指报了一个错吧,好像是什么运行时错误,这应该不是证书的问题,是你访问的资源不存在。

604

社区成员

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

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