之前已经从asp调用了许多休息服务 - 但这个让我难过。 首先我的func看起来像
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
with objHTTP
.open "post", x_posturl, False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send x_xmlstr
end with
,返回的错误是
msxml3.dll错误'80072f0d'证书颁发机构无效或 不正确
所以,google了一下,建议是添加行
.setOption 2, 13056
这会给出错误
msxml3.dll错误'80072f0c'需要证书才能完成 客户端身份验证
然后我联系了服务供应商,他们建议
单击地址栏旁边的证书错误,查看 证书,选择详细信息,选择复制到文件,然后将其下载到 文件。将其安装到服务器上的受信任证书中 尝试提交数据时停止出现错误。
所以,尝试使用说明here - 但仍然没有快乐,任何帮助赞赏
答案 0 :(得分:2)
位于x_posturl
的服务器似乎配置了错误的证书,或者您的客户端计算机不包含/识别(最可能是)证书的根权限。有几个选项可以解决:
MSXML2.ServerXMLHTTP
忽略证书错误,这里似乎可以回答:this spline example x_posturl
更改为以http://
开头,而不是https://
(如果提供商支持)。不过,在生产场景中不建议这样做。您能具体分享x_posturl
是什么吗?我们应该能够通过查看SSL握手进行调试。
答案 1 :(得分:0)
我能够通过传递参数来找到解决方案。
objHTTP.SetOption 2,objHTTP.GetOption(2)
Dim objHTTP
Set objHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.SetOption 2, objHTTP.GetOption(2)
objHTTP.Open "post", x_posturl, False
objHTTP.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.Send x_xmlstr