【发布时间】:2016-07-04 09:15:28
【问题描述】:
我正在尝试做一些简单的事情:向 url 发出 GET 请求。但是,当我搜索如何执行此操作的示例时,我经常会遇到像 this 这样的近乎胡言乱语。
有人知道如何使用 OCaml 发出简单的 HTTP 请求吗?我是一名 OCaml 新手,有一些 Haskell 经验。
注意:
使用尽可能低的 OCaml 级别的解决方案将是理想的。我已经看到使用了 Cohttp 库,但我对原生 (?) HTTP OCaml 库或类似的东西更感兴趣。
作为对@antron 的回应,非常感谢使用尽可能低级别的本机 OCaml 的解决方案。我被引导相信这将涉及Unix 库。但是,如果有另一个不涉及第三方库的解决方案,那将同样受欢迎。
【问题讨论】:
-
根据我对推荐 Cohttp 的回答的评论,OCaml 中没有这样的库。 OCaml 标准库非常简朴,很多任务都使用社区库。如果你想查看 OCaml 打包的库列表,在这里:caml.inria.fr/pub/docs/manual-ocaml/libref/index.html
-
如果你想要 OCaml 中的“最低级别”,答案将是套接字,(例如标准模块
Unix)然后它就不再是简单了.如果您想要这么低的级别,请澄清您的问题。 -
让我大吃一惊的是,任何人都会对这样的问题投反对票,堆栈溢出开发人员调查显示,它为大多数开发人员提供了基本的编码。 @dopatraman 我还建议您查看hyegar.com/2015/10/20/so-youre-learning-ocaml 以快速提高工作效率。
-
@antron 更新了问题。
-
@dopatraman 您对套接字编程有多少背景?你想在
Unix中使用socket、connect、send、recv和close,甚至可能是select,但我不知道这对你是否立即有意义,或者你想要一个详细的答案。如果您选择不使用任何 HTTP 库或并发 monad(在标准库中也找不到),那么它基本上是 OCaml 中的 C 系统编程。