【问题标题】:HTTPoison doesn't accept this custom headerHTTPoison 不接受此自定义标头
【发布时间】:2019-12-10 19:06:52
【问题描述】:

我有一个下面的curl request 可以工作,但是当我将它翻译成下面的内容时,我收到以下错误,这个标题有什么问题 - 我觉得我已经尽了一切可能。

url = "https://content.dropboxapi.com/2/files/download"
header = [ {"Authorization", "Bearer #{token}"}, {"Dropbox-API-Arg", "{\"path\": \"/dropboxtest/image.jpg\"}"} ]
HTTPoison.post(url=url, header=header)

** (ArgumentError) argument error
    :erlang.iolist_to_binary([{"Authorization", "Bearer <removed>"}, {"Dropbox-API-Arg", "{\"path\": \"/dropboxtest/image.jpg\"}"}])
    (hackney) /Users/casey/Dropbox/BOS Sales LLC/backyardmicro/projects/k-9dryers/software/connectk9/deps/hackney/src/hackney_request.erl:348: :hackney_request.handle_body/4
    (hackney) /Users/casey/Dropbox/BOS Sales LLC/backyardmicro/projects/k-9dryers/software/connectk9/deps/hackney/src/hackney_request.erl:83: :hackney_request.perform/2
    (hackney) /Users/casey/Dropbox/BOS Sales LLC/backyardmicro/projects/k-9dryers/software/connectk9/deps/hackney/src/hackney.erl:376: :hackney.send_request/2
    (httpoison) lib/httpoison/base.ex:796: HTTPoison.Base.request/6

【问题讨论】:

    标签: elixir phoenix-framework


    【解决方案1】:

    你要调用的函数是documented here

    得到表格:

    HTTPoison.post(url, body, headers \\ [], options \\ []) 
    

    所以第一个参数应该是 URL,然后是正文,然后只有标题。

    通过写HTTPoison.post(url=url, header=header),请注意url=urlheader=header 对你想要实现的目标没有真正的意义,只要你有一个空的身体就写:

    HTTPoison.post(url, "", header)
    

    (作为建议,如果我是你,我也会将 header 重命名为 headers

    【讨论】:

      猜你喜欢
      • 2015-09-03
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多