Coldfusion cfhttp返回浏览器可以通过http和https访问的网络url的连接失败
我正在使用cfhttp尝试从我们的一个组织API中提取一些json。当我试图从我们自己的服务器中提取示例json时,代码可以正常工作,但是当我将其指向API本身时,我收到一个连接失败。代码如下:Coldfusion cfhttp返回浏览器可以通过http和https访问的网络url的连接失败,coldfusion,cfhttp,coldfusion-2018,Coldfusion,Cfhttp,Coldfusion 2018,我正在使用cfhttp尝试从我们的一个组织API中提取一些json。当我试图从我们自己的服务器中提取示例json时,代码可以正常工作,但是当我将其指向API本身时,我收到一个连接失败。代码如下: <cfhttp method="get" url="http://[url]/api/menu"> <cfhttpparam type="URL" name="id" value="[guid]"> </cfhttp> <cfset File
<cfhttp method="get" url="http://[url]/api/menu">
<cfhttpparam type="URL" name="id" value="[guid]">
</cfhttp>
<cfset FileWrite("#application.tempDirPath#/temp.json", CFHTTP.FileContent)>
我已将实际值替换为[url]和[guid]
我曾尝试在的浏览器中访问此url,但效果非常好,这表明我的机器访问该url没有问题。url是我们网络中的一个服务器,只要我在公司VPN上,我就可以访问它
我尝试过的事情:
- 实时代码应该指向https。我尝试了http和https
- 我曾尝试在同一个url上点击主页,但这也会导致连接失败,但可以在浏览器中使用
- 我已经尝试了相同的代码,它可以毫无问题地下载GoogleHTML
- 我试着重新启动ColdFusion和我的机器
- 我已尝试通过标题禁用压缩:
<cfhttp method="get" url="http://[url]/api/menu"> <cfhttpparam type="header" name="Accept-Encoding" value="deflate;q=0" /> <cfhttpparam type="header" name="TE" value="deflate;q=0" /> <cfhttpparam type="URL" name="id" value="[guid]"> </cfhttp>
<?xml version="1.0" encoding="UTF-8"?>
<STRUCT ID="1">
<ENTRY NAME="Errordetail" TYPE="STRING">I/O Exception: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target</ENTRY>
<ENTRY NAME="Mimetype" TYPE="STRING">Unable to determine MIME type of file.</ENTRY>
<ENTRY NAME="Statuscode" TYPE="STRING">Connection Failure. Status code unavailable.</ENTRY>
<ENTRY NAME="Filecontent" TYPE="STRING">Connection Failure</ENTRY>
<ENTRY NAME="Responseheader" TYPE="STRUCT">
<STRUCT ID="2" />
</ENTRY>
<ENTRY NAME="Text" TYPE="BOOLEAN">true</ENTRY>
<ENTRY NAME="Charset" TYPE="STRING" />
<ENTRY NAME="Header" TYPE="STRING" />
</STRUCT>
I/O异常:sun.security.validator.validator异常:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径
无法确定文件的MIME类型。
连接失败。状态代码不可用。
连接故障
真的
您的CFHTTP正在调用HTTP,但您的浏览器正在使用HTTPS。服务器是否接受端口80和443上的连接?还可能与更具体的错误消息有关听起来像是证书问题。http://[url]/
是否重定向到https://[url]/
<默认情况下,code>cfhttp遵循重定向,可能会命中证书。尝试使用@haxtbh我已经在我的浏览器和cfhttp上尝试了http和https。两者都在浏览器中工作,在cfhttp中都失败。我也尝试过指定端口443。“连接失败”是cfhttp的filecontent中显示的唯一消息。@Alex您可能是对的。写出完整的cfhttp结构我看到“I/O异常:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径”。我回到浏览器,看到一个我以前没有注意到的重定向。我将详细了解导入证书的过程。我看到它在http上不起作用,就下结论说它不是https问题。