gpt4 book ai didi

curl - 混合 curls --data-binary 和编码 url-search 参数的能力

转载 作者:行者123 更新时间:2023-12-04 09:36:07 27 4
gpt4 key购买 nike

我想使用 curl 发出帖子请求.正文是一个二进制文件,但我也希望 curl 对 url-search 参数进行编码。

curl --request POST \
--header 'Content-Type:application/octet-stream' \
--data-binary "@file.txt" \ # The body part, raw, not encoded
--data-urlencode "name=john" \ # The url-search-param part, encoded
"https://example.com"
问题是 curl 对待 --data-urlencode作为 body 的一部分,我想要的是 name=john像这样附加到 url 部分: https://example.com?name=john由此 --data-binary部分作为 POST 发送过来 body 。 (实际上,搜索参数是一个带有需要编码的“无效”url 字符的字符串)
域名注册地址:
我想用 --data-urlencode好像我在做一个 GET请求(附加参数)和 POST --data-binary设置实际 POST body 。
快速谷歌搜索为我提供了使用信息 --get / -G 但这会将请求转换为 GET请求我不想要的东西,所以在 SO 上已经有十几个关于这个的问题(但没有一个涵盖我的情况):
  • Is it possible to use `--data-urlencode` and `--data-binary` options for the same curl command? - 不同的问题,他想要--data-binary成为网址的一部分(?!)。
  • How to urlencode data for curl command? - 是的,我想要那个,但也使用 POST 发送一个二进制文件...
  • CURL Command Line URL Parameters嗯,是的,但我想要一个文件作为正文,它是一个 POST在我的情况下请求...
  • How to urlencode url params with a curl POST but not urlencode the body data? - 正是我需要的,但同样,curl 会同时踩到这两个 --data-urlencode--data-binary作为 body 的一部分,如果 -X POST用来。一看answer的评论区让我觉得这对 curl 来说是不可能的?!

  • ...以及许多其他关于如何对主体进行编码的重复项 网址部分。

    最佳答案

    你不能。--data* options 用于构建请求正文,或者您可以要求 curl 将它们全部作为查询参数放在 URL 中(使用 -G )。这些选项不能在单个命令行中同时构建。
    我的建议是“手动”构建 URL 并保留 --data构建请求正文的选项,主要是因为 URL 部分往往更容易和更小。

    关于curl - 混合 curls --data-binary 和编码 url-search 参数的能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62578702/

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