HTTPie 是不是有相当于 curl 的 -d 选项?

Posted

技术标签:

【中文标题】HTTPie 是不是有相当于 curl 的 -d 选项?【英文标题】:Does HTTPie have the equivalent of curl's -d option?HTTPie 是否有相当于 curl 的 -d 选项? 【发布时间】:2021-12-16 07:20:42 【问题描述】:

我想用 HTTPie 查询一个 REST API。我通常使用 curl 来执行此操作,我可以使用它指定 maxKeysstartAfterFilename 例如

curl --location --request GET -G \                                                                                                  
"https://some.thing.some.where/data/v1/datasets/mydataset/versions/2/files" \
-d maxKeys=100 \
-d startAfterFilename=YYYMMDD_HHMMSS.file \
--header "Authorization: verylongtoken"

如何在 HTTPie 中使用 -d 选项?

【问题讨论】:

【参考方案1】:

在您的情况下,命令如下所示:

http -F https://some.thing.some.where/data/v1/datasets/mydataset/versions/2/files \
    Authorization:verylongtoken \
    startAfterFilename=="YYYMMDD_HHMMSS.file" \
    maxKeys=="100"

虽然,有很多方法可以使用httpie 传递一些数据。例如

http POST http://example.com/posts/3 \
    Origin:example.com \  # :   HTTP headers
    name="John Doe" \     # =   string
    q=="search" \         # ==  URL parameters (?q=search)
    age:=29 \             # :=  for non-strings
    list:='[1,3,4]' \     # :=  json
    file@file.bin \       # @   attach file
    token=@token.txt \    # =@  read from file (text)
    user:=@user.json      # :=@ read from file (json)

或者,在表格的情况下

http --form POST example.com \
    name="John Smith" \
    cv=@document.txt

【讨论】:

以上是关于HTTPie 是不是有相当于 curl 的 -d 选项?的主要内容,如果未能解决你的问题,请参考以下文章

[译]httpie: CLI, 类似cURL的客户端

HTTPie: a CLI, cURL-like tool for humans

接口测试命令Httpie的使用

动手造轮子 —— dotnet-HTTPie

ubuntu httpie使用方法

dotnet-httpie 0.2.0 Released