使用cfhttp检索客户数据 - I / O异常:对等方未经过身份验证

时间:2018-05-29 13:55:39

标签: coldfusion http-headers shopify

我已经设置了一个私人应用程序,可以读取客户详细信息和客户群。

我的ColdFusion:

<cfhttp 
  url="https://[api-key]:[password]@rhein-essentials.myshopify.com/admin/customers.json"
  method="get" result="httpResp" timeout="120">
  <cfhttpparam type="header" name="Content-Type" value="application/json" />
</cfhttp>
<cfdump var="#httpResp#" />

从我创建私有应用程序时生成的数据中复制了[api-key]和[password]。响应对象:

struct
Charset         [empty string]
ErrorDetail     I/O Exception: peer not authenticated
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 

正如您所看到的,它返回错误&#34;连接失败&#34;。详细错误添加了&#34; I / O例外:对等体未经过身份验证&#34;。起初我倾向于认为这是我的ColdFusion代码的问题。但我尝试使用相同的URL并将其直接插入我的浏览器。当我登录Shopify网站时,网址会重定向到https://rhein-essentials.myshopify.com/admin/customers.json并正确显示数据。但是,当我退出时,该网址会重定向到https://rhein-essentials.myshopify.com/admin/auth/login。是不是使用api密钥和密码,以便我可以远程访问数据,而无需登录?

我做错了什么,如果不是通过ColdFusion,如何在不登录的情况下从商店检索数据?

1 个答案:

答案 0 :(得分:1)

正如@RRK指出的那样,

  

这很可能是TLS1.2问题,这是CF9的一个已知问题。您可以尝试将此-Dhttps.protocols=TLSv1.2添加到CF管理员的JVM设置中吗?

这似乎确实是CF9问题,因为在将其升级到CF 2016 Patch 6以及Java 8 x64 V 172后,它可以很好地检索数据。