簡體   English   中英

如何從Elixir的結果中獲取狀態代碼

[英]How to get status code from result in Elixir

我正在使用elixir和httpc erlang模塊來ping網站。 我可以正常訪問網站,但是當我嘗試使用status_code時,出現參數錯誤。 我可以看到錯誤中存在數據,但是我不確定為什么會引發錯誤。

我應該提供什么論據? 我以為該函數只返回一個整數,但看起來像是期望的東西。

:inets.start
{:ok, result} = :httpc.request(:get, {'http://www.erlang.org', []}, [], [])
result.status_code()                                                               
** (ArgumentError) argument error
  :erlang.apply({'HTTP/1.1', 200, 'OK'}, :status_code, [])

:httpc.request返回包含各種信息的元組。 可以按以下方式檢索狀態碼。

:inets.start
{:ok, result} = :httpc.request(:get, {'http://www.erlang.org', []}, [], [])
{status_line, headers, body} = result
{http_version, status_code, reason_phrase} = status_line

元組結構在httpc文檔中進行了描述。 http://erlang.org/doc/man/httpc.html#request-4

如果您想使用更多長生不老葯風格的語法(例如result.status_code),一種選擇是使用某些長生不老葯庫 ,例如httpoisonhttpotion

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM