有没有办法阻止 cURL 命令在 macOS Catalina 中解释分号?
Is there a way to keep a cURL command from interpreting a semicolon in macOS Catalina?
运行 如下所示的用于上传文件内容(通过填写表格)的 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 中的 curl 7.54.0
在 Catalina 中卷曲 7.64.1
从 --form
更改为 --form-string
以防止解析 ;key=value
(用于 ;type=text/x-myapp
赋值)。
因此,您可以更改相关行:
curl "${other_args[@]}" -F "filecontent=$(<file)"
至:
curl "${other_args[@]}" --form-string "filecontent=$(<file)"
运行 如下所示的用于上传文件内容(通过填写表格)的 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 中的 curl 7.54.0
在 Catalina 中卷曲 7.64.1
从 --form
更改为 --form-string
以防止解析 ;key=value
(用于 ;type=text/x-myapp
赋值)。
因此,您可以更改相关行:
curl "${other_args[@]}" -F "filecontent=$(<file)"
至:
curl "${other_args[@]}" --form-string "filecontent=$(<file)"