【问题标题】:How to send a GET/POST request with Forth如何使用 Forth 发送 GET/POST 请求
【发布时间】:2018-05-03 22:27:14
【问题描述】:

我想为我的树莓派写一个 Forth 程序。该程序将从现有文件中读取一些传感器数据并将其发送到存储数据的网站。

在网上搜索有大量关于 Forth 的简单和快速以及如何计算斐波那契数的文档。但是我怎样才能请求一个 URL?如何将数据发送到网站并处理结果?

如果没有套接字支持:是否可以启动像 curl/wget 这样的外部程序来执行请求?

【问题讨论】:

  • 好问题(我不知道答案)。对于 Gforth(我实际上已经安装在 Raspberry Pi 上),在 their page 上的 "libraries" 下,它列出了 "httpd.fs, a web server (undocumented)" - 所以我认为可以访问套接字。
  • My installation instructions for Gforth(在答案末尾)。
  • 我刚刚在 Rosettacode 上找到了一个示例。还有一个关于这个问题的问题:stackoverflow.com/questions/49602466/forth-networking-library
  • Raspberry Pi 是否提供有关其 Forth 实现的任何文档?这完全是关于他们可能在库中为他们的 Forth 提供的 Forth 单词。除非您想自己从该域移植一个实现,否则可用的 GForth 库可能对您没有帮助。
  • 重要的是要提到您在 Raspberry Pi 上使用的 Forth 实现是什么?由于套接字不是标准的一部分,因此网络库和 API 依赖于实现。

标签: sockets raspberry-pi forth


【解决方案1】:

从这个问题中看不到 Forth 实现是什么。

例如,Gforth(在 Raspberry Pi 上可用) 对套接字有一些支持,它还允许使用system 字启动外部程序。请参阅我对类似问题的回答:How do I read raw code from a website in Gforth?

在 Gforth 中创建 curl 子进程的示例:

S" curl https://example.com/" system

无论如何, 对于给定问题,似乎最有希望的方法是开发与libcurl 的绑定(如果使用的 Forth 实现尚不存在)。

【讨论】:

  • OP 在 Raspberry Pi 上运行 Forth。它是否具有与 Gforth 相同的套接字库?
  • @lurker,谢谢——我真的很怀念问题中没有提到 Forth 实现。现在我已经相应地更新了答案。如果使用 libcurl 则不需要套接字库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 2016-08-08
相关资源
最近更新 更多