POST以 curl 并设置空数组

3phpmpom  于 2023-10-19  发布在  其他
关注(0)|答案(2)|浏览(141)

在命令行中,我试图通过curl发送POST数据,但在分配空数组时遇到了问题。
范例:

curl -X POST -d "customer[name]=Wes&customer[friends]=[]"

当请求运行时,参数将“[]”视为字符串而不是空数组。当我试图给它赋值时也是如此:=[1,2,3]变成"[1,2,3]"
我在SO上发现了类似的问题,但它们都涉及使用PHP的curl库。

ewm0tg9j

ewm0tg9j1#

经过多次尝试和错误,这是解决方案。
要通过curl传递空数组,请执行以下操作:

curl -X POST -d "customer[name]=Wes&customer[friends][]="

请注意,customer[friends][](数组中的第一个条目)在参数中保留为空。
要将值[1,2,3]传递到数组中,请执行以下操作:

curl -X POST -d "customer[name]=Wes&customer[friends][]=1&customer[friends][]=2&customer[friends][]=3"

现在,friends包含["1","2","3"]

ghhkc1vu

ghhkc1vu2#

如果发送:

curl -X POST -d "customer[name]=Wes&customer[friends][]="

customer[friends][]=不会是空数组,而是第一个元素值为''的数组(空字符串)

相关问题