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

Http 如何使用CURL中的--data选项发送请求正文和边界分隔符,http,curl,Http,Curl,我是卷发新手。 我正在使用curl使用shell脚本上传文件。 我必须显式地设置边界分隔符,并通过传递几个字段来发出HTTP请求 我有几个问题: 是否可以使用GET方法显式设置边界分隔符? 如果是,如何进行 如果没有,那么可以在POST方法中使用类似的内容(检查--data的参数) curl--data“--4ebf00fbcf09&AB=MSG&tableView=simple&orient=UP&x-895892-n=1 &x-128754-o=2&x-974573-p=1&client=b

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

我有几个问题:

  • 是否可以使用GET方法显式设置边界分隔符? 如果是,如何进行

  • 如果没有,那么可以在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--” --标题“内容类型:多部分/表单数据;边界=4ebf00fbcf09”
    www.xyz.com


    非常感谢

    这些分隔符用于多部分FormPost,如果您只需确保使用而不是使用,curl将自动为您处理分隔符

    curl的-d和-F之间的区别也在curl书中恰当标题为“”的部分中进行了解释

    手动方式 如果你真的想自己设置边界,你需要按照要求自己构建整个formpost

    发送两个值“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