服务端环境是Windows Server 2003,ASP
向钉钉通过https://oapi.dingtalk.com/gettoken?corpid=&corpsecret= 接口请求AccessToken的时候报错
报错的代码是如下函数getHTTPPage(url):
Function getHTTPPage(url)
dim Http
set Http = Server.CreateObject("MSXML2.SERVERXMLHTTP.3.0")
Http.open "GET",url,false
Http.send() ‘这一步报错
if Http.readystate<>4 then
exit function
end if
getHTTPPage=bytesToBstr(Http.responseBody,"utf-8")
set http=nothing
if err.number<>0 then err.Clear
end if
End Function
服务器错误提示:
msxml3.dll
错误 '80072f06'
The host name in the certificate is invalid or does not match
经检查当URL 协议为Http的时候是可以正常运行的,协议为
https,且为开放平台API网址https://oapi.dingtalk.com/时
[font='Times New Roman']就报错,问题似乎出在证书上?测试
https://bbs.aliyun.com/ 又是可以获取到内容的。判断为证书问题,难道是开放平台API接口的证书级别原因?
求大牛解答,我已找遍网上了,都没找到如何解决该问题。
另外:
通过微软的WinHttp 组件来发请求还是报这样的错误,具体测试函数如下
test.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<script language="jscript" runat=server>
function getText(strURL)
{
var strResult;
try
{
// Create the WinHTTPRequest ActiveX Object.
var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
// Create an HTTP request
var temp = WinHttpReq.Open("GET", strURL, false);
// Send the HTTP request.
WinHttpReq.Send();
// Retrieve the response text.
strResult = WinHttpReq.ResponseText;
}
catch (objError)
{
strResult = objError + "\n"
strResult += "WinHTTP returned error: " + (objError.number & 0xFFFF).toString() + "\n\n";
strResult += objError.description;
}
// Return the response text.
return strResult;
}
//getText("https://oapi.dingtalk.com/"));
</script>
<%
response.write getText("https://oapi.dingtalk.com/")
%>
以上是今天测试的代码,用了微软的WinHttp 组件,依然报如下错误:
[object Error] WinHTTP returned error: 12038 The host name in the certificate is invalid or does not match
-------------------------------------------------------------------------------------------------------------------------------------
在Windows Server 2003 上用系统自带的浏览器 访问https://oapi.dingtalk.com 浏览器报错,无法访问:
[attachment=108837]
-------------------------
-------------------------
-------------------------
引用第2楼ceadelta于2016-08-23 12:03发表的 回 1楼谦吉的帖子 :
应该是证书的问题,我在ASP里面用了另外一个COM组件 请求页面内容,报了同样的错误,如下:
<script language="jscript" runat="server">
function getText(strURL)
{
var strResult;
....... [url=https://bbs.aliyun.com/job.php?action=topost&tid=292395&pid=815771][/url]
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
引用第10楼谦吉于2016-08-23 22:48发表的 :
这个证书应该是指你本地的证书
https://technet.microsoft.com/en-us/library/dd891009.aspx
这里有个微软的文档,你看下 [url=https://bbs.aliyun.com/job.php?action=topost&tid=292395&pid=815986][/url]
-------------------------
-------------------------
你们的https的证书是购买的吗
-------------------------
这个证书应该是指你本地的证书
https://technet.microsoft.com/en-us/library/dd891009.aspx
这里有个微软的文档,你看下
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。