我认为我的时间戳需要在字符串的末尾。 但是当我把它移到那里时 - 我得到一个奇怪的输出 × 变成一个 x。 有解决这个问题的方法吗? 在前面它工作正常。
<cfset usem = "timestamp=#unixdatetimeNow.getTime()#&symbol=#pair#&side=#side#&type=#type#&quantity=#size#">
输出:
时间戳=1645552579468&符号=SHIBUSDT&侧面=卖出&类型=市场&数量=9005
<cfset usem = "symbol=#pair#&side=#side#&type=#type#&quantity=#size#×tamp=#unixdatetimeNow.getTime()#">
带 x 的输出:
符号=SHIBUSDT&侧面=卖出&类型=市场&数量=9005×tamp=1645552579468
如何修复此 x 替换? 在 cfset 和脚本中都这样做
更新日期: 2022-04-06
TLDR;
最重要的是,什么都不需要做。 如评论中所述,以及您的另一个线程 冷融合 : 币安 API :并非所有发送的参数都被读取,参数名称仍然×tamp
,它只是在屏幕上显示时显得xtamp
。
这是因为子字符串×被视为 html 实体×
,它被呈现为符号x
。
为什么 [时间戳] 在前面很好,但后面不行?
当timestamp
是查询字符串中的第一个参数时,">time"前面没有&
。因此,它不被视为 html 实体。
请记住,这只是一个演示问题。子字符串& time仅在输出变量时呈现为x
。变量的实际内容不会更改。因此,在您的 cfhttp 调用中使用了什么都不会发生:
// sends "×tamp" not "xstamp"
cfhttp(....) {
...
cfhttpparam(type="body", value="#yourString#");
}
固定 :
&
:<cfset usem = "...&timestamp=#unixdatetimeNow.getTime()#">
这可能会在屏幕上正确显示,但会中断您的 cfhttp 调用,因为它将参数名称设置为文本字符串&timestamp
但 API 需要名为timestamp
的参数。