ColdFusion - CFHTTP (https) 通过端口 80 发送请求
ColdFusion - CFHTTP (https) sending request over port 80
我正在使用 CFHTTP 连接到服务器和 post 一些参数。我已成功导入证书。
<cfhttp url="https://xml.proveid.experian.com/IDSearch.cfc" method="post" result="response" port="443">
<cfhttpparam type="Header" name="Accept-Encoding" value="*">
<cfhttpparam type="header" name="content-length" value="#len(arguments.xml)#" />
<cfhttpparam type="xml" value="#trim(arguments.xml)#" />
</cfhttp>
如您所见,请求是针对端口 443 但我返回的错误是:
struct Charset [empty string]
ErrorDetail Connect Exception: Connect to xml.proveid.experian.com:80
[xml.proveid.experian.com/194.60.180.108]
failed: Connection timed out: connect
Filecontent Connection Failure Header [empty string]
Mimetype Unable to determine MIME type of file.
Responseheader struct [empty]
Statuscode Connection Failure. Status code unavailable.
Text YES Connection Failure. Status code unavailable.
谁能解释一下为什么在端口 80 上发出请求?
https://xml.proveid.experian.com/IDSearch.cfc (port 443) is immediately redirecting to http://xml.proveid.experian.com:80/CFIDE/componentutils/cfcexplorer.cfc?method=getcfcinhtml&name=oneninetwo.corpwsdl2.IDSearch&path=/IDSearch.cfc(端口 80)
是第二页超时了。
似乎特定的网络服务不能很好地与 CFHTTP 配合使用。所以这个方法解决了问题。
<cfset args.xml = 'xml value'>
<cfinvoke
webservice="https://xml.proveid.experian.com/IDSearch.cfc?wsdl"
method="search"
returnvariable="aTemp"
argumentCollection="#args#">
</cfinvoke>
我正在使用 CFHTTP 连接到服务器和 post 一些参数。我已成功导入证书。
<cfhttp url="https://xml.proveid.experian.com/IDSearch.cfc" method="post" result="response" port="443">
<cfhttpparam type="Header" name="Accept-Encoding" value="*">
<cfhttpparam type="header" name="content-length" value="#len(arguments.xml)#" />
<cfhttpparam type="xml" value="#trim(arguments.xml)#" />
</cfhttp>
如您所见,请求是针对端口 443 但我返回的错误是:
struct Charset [empty string]
ErrorDetail Connect Exception: Connect to xml.proveid.experian.com:80
[xml.proveid.experian.com/194.60.180.108]
failed: Connection timed out: connect
Filecontent Connection Failure Header [empty string]
Mimetype Unable to determine MIME type of file.
Responseheader struct [empty]
Statuscode Connection Failure. Status code unavailable.
Text YES Connection Failure. Status code unavailable.
谁能解释一下为什么在端口 80 上发出请求?
https://xml.proveid.experian.com/IDSearch.cfc (port 443) is immediately redirecting to http://xml.proveid.experian.com:80/CFIDE/componentutils/cfcexplorer.cfc?method=getcfcinhtml&name=oneninetwo.corpwsdl2.IDSearch&path=/IDSearch.cfc(端口 80)
是第二页超时了。
似乎特定的网络服务不能很好地与 CFHTTP 配合使用。所以这个方法解决了问题。
<cfset args.xml = 'xml value'>
<cfinvoke
webservice="https://xml.proveid.experian.com/IDSearch.cfc?wsdl"
method="search"
returnvariable="aTemp"
argumentCollection="#args#">
</cfinvoke>