PHP curl 转换为 Coldfusion chfttp

标签 php coldfusion cfhttp activecampaign

我正在查看 activecampaign 事件跟踪的示例

curl_setopt($curl, CURLOPT_URL, "https://trackcmp.net/event");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, array(
"actid" => "649587205",
"key" => "4a2f544b998d0107cd0341e799513c7eb94abde4",
"event" => "YOUR_EVENT",
"eventdata" => "ANY_DATA",
"visit" => json_encode(array(
        // If you have an email address, assign it here.
        "email" => "",
    )),
));

我知道我可以使用以下 CFHTTP 调用

<cfhttp url="https://trackcmp.net/event" method="POST">
<cfhttpparam type="FORMFIELD" name="actid" value="649587205">
<cfhttpparam type="FORMFIELD" name="key" value="4a2f544b998d0107cd0341e799513c7eb94abde4">
<cfhttpparam type="FORMFIELD" name="event" value="Watched">
<cfhttpparam type="FORMFIELD" name="eventdata" value="Video 101 - how to...">
<cfhttpparam type="FORMFIELD" name="visit" value="">

但是我如何处理“访问”电话

"visit" => json_encode(array(
    // If you have an email address, assign it here.
    "email" => "",
)),

我的电子邮件地址只是对如何将其转换为 CF 标签逻辑感到困惑。 谢谢。 马特

最佳答案

最好从 PHP manual 开始弄清楚这两个函数正在做什么。

数组()

array() 的文档函数,和 array type ,它解释了在这种情况下它创建了一个关联数组,或者换句话说,一个 CF 结构。

An array in PHP is actually an ordered map. A map is a type that associates values to keys.

json_encode()

正如名称所暗示的那样,json_encode()将关联数组对象编码为 JSON 格式的字符串。

CF代码

CF相当于创建一个结构体。然后使用serializeJSON()将其转换为字符串。使用结构文字语法,非常相似

 #serializeJSON( {"email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d4b5b6b794b1acb5b9a4b8b1fab7bbb9" rel="noreferrer noopener nofollow">[email protected]</a>"} )#

只需记住将键名括在引号中,以防止 CF 在序列化时将键名转换为大写。另外,PHP 和 CF 之间的一大区别是 PHP 结构默认是有序的。 CF 结构则不然。在这个简单的示例中,顺序并不重要,但在序列化时可能会产生影响。如果您确实需要有序结构,请参阅此线程:

"How to fix `remove default alphabetical ordering of SerializeJSON() `

关于PHP curl 转换为 Coldfusion chfttp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55800590/

相关文章:

php - 在 cake PHP 中使用服务器发送的事件

coldfusion - 在 Win2k8 R2 x64 上处理 ColdFusion 10 中的 404 错误时遇到问题?

ios - 使用 ColdFusion com.notnoop.apns.SimpleApnsNotification 时的 APN 设备 token 编码

oauth - 使用 cfhttp 发布到 API

javascript - C3JS的访问值

php - 从 mysql 到 PDO 的转换

javascript - Angular - 将 HTTP 发布数据发送到服务器 [HOW TO]

sql-server - Coldfusion "can' t find object”错误,但可以在代码的其他部分找到

coldfusion - 从coldfusion中的自动下载网址获取文件

coldfusion - 使用 Coldfusion 进行屏幕抓取