gpt4 book ai didi

http - 如何使用 CURL 中的 --data 选项发送请求正文和边界定界符

转载 作者:可可西里 更新时间:2023-11-01 16:36:15 26 4
gpt4 key购买 nike

我是 curl 的新手。我正在使用 curl 使用 shell 脚本上传文件。我必须明确设置边界分隔符并通过传递几个字段来发出 HTTP 请求。

我有几个问题:

  1. 是否可以使用 GET 方法显式设置边界分隔符?如果是,怎么办?

  2. 如果不是,那么可以在 POST 方法中使用这样的东西吗(检查 --data 的参数)

curl --data "--4ebf00fbcf09&AB=MSG&tableView=simple&orient=UP&x-895892-n=1&x-128754-o=2&x-974573-p=1&client=browser&d-984303-s=create&--4ebf00fbcf09--"--header "Content-Type: multipart/form-data; boundary=4ebf00fbcf09"
www.xyz.com

非常感谢!

最佳答案

这些分隔符用于多部分表单,如果您确保使用 --form,curl 将自动为您处理分隔符。而不是 --data .

curl 的 -d 和 -F 之间的区别在 curl 书中的标题为“-d vs -F”的章节中也有解释。

手动方式

如果你真的想自己设置边界,你需要自己构建整个 formpost 为 RFC1867规定。

发送两个值“name=foo”和“value=42”的 shell 脚本:

#/bin/sh
boundary="------------------------2100d47bb8839948"

# generate the body
echo "$boundary" > post
echo 'Content-Disposition: form-data; name="name"' >> post
echo "" >> post
echo "foo" >> post
echo "$boundary" >> post
echo 'Content-Disposition: form-data; name="value"' >> post
echo "" >> post
echo "42" >> post

## final boundary uses two extra dashes
echo "$boundary--" >> post

curl -H "Content-Type: multipart/form-data; boundary=$boundary" localhost --data-binary @post

关于http - 如何使用 CURL 中的 --data 选项发送请求正文和边界定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45330263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com