运行cURL命令以上传文件内容(通过填写表单),例如以下curl -L -X POST -F 'edit=filename' http://website.local/example -F 'filecontent=test;2;3'
可以在High Sierra上使用,但不能在Catalina上使用
Catalina一直停留在分号;
处,并忽略其余部分,因为它正在解释分号并输出:
Warning: skip unknown form field: 2
Warning: skip unknown form field: 3
我尝试了各种不同的操作,例如转义\;
并单引号,但仍然没有成功,还尝试了更改为bash或除zsh之外的其他shell。
下面的示例curl -F 'colors="red; green; blue";type=text/x-myapp' example.com
起作用了,我现在正试图从文件中读取内容。适用于High Sierra的代码为-F "filecontent=$(<Example.txt)"
我正在上传的文件包含分号,并且它将文本一直上传到第一个分号
High Sierra中的7.54.0卷
在Catalina中卷曲7.64.1
答案 0 :(得分:1)
从--form
更改为--form-string
,以防止解析;key=value
(用于;type=text/x-myapp
分配)。
因此,您可以从以下位置更改相关行:
curl "${other_args[@]}" -F "filecontent=$(<file)"
收件人:
curl "${other_args[@]}" --form-string "filecontent=$(<file)"