热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何从Elixir中的结果中获取状态代码

如何解决《如何从Elixir中的结果中获取状态代码》经验,为你挑选了1个好方法。

我正在使用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, [])

parroty.. 5

: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 doc中描述.(http://erlang.org/doc/man/httpc.html#request-4)

如果你想使用更多的elixir风格的语法(比如result.status_code),一个选项就是使用一些elixir库,比如httpoison或httpotion.



1> parroty..:

: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 doc中描述.(http://erlang.org/doc/man/httpc.html#request-4)

如果你想使用更多的elixir风格的语法(比如result.status_code),一个选项就是使用一些elixir库,比如httpoison或httpotion.


是的,避免使用httpc.在负载下使用时也会出现一些错误.如果您需要快速开箱即可,不要将其用于实际应用.
推荐阅读
author-avatar
王丽珠景平怡伦_621
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有