我已经设置了一个私人应用程序,可以读取客户详细信息和客户群。
我的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,如何在不登录的情况下从商店检索数据?
答案 0 :(得分:1)
正如@RRK指出的那样,
这很可能是TLS1.2问题,这是CF9的一个已知问题。您可以尝试将此
-Dhttps.protocols=TLSv1.2
添加到CF管理员的JVM设置中吗?
这似乎确实是CF9问题,因为在将其升级到CF 2016 Patch 6以及Java 8 x64 V 172后,它可以很好地检索数据。