【问题标题】:HTTP Request Without curl or wget (Ubuntu Core Bash) [closed]没有 curl 或 wget 的 HTTP 请求(Ubuntu Core Bash)[关闭]
【发布时间】:2018-02-18 15:44:42
【问题描述】:

如何在 Ubuntu Core 中发出 HTTPS(或 HTTP)请求? curlwget 不可用(我不知道有任何替代方法)。

我正在尝试使用此行更新 DtDns:https://www.dtdns.com/api/autodns.cfm?<options>

--

编辑
找不到任何快速简单的解决方案,因此绕了更长的路,并了解了如何使用 snapcraft(在经典模式下)创建快照。然后简单地将 curl 与我的 bash 脚本一起包含在 snap 中。这是我的 snap.yaml 的摘录:

apps:
  my-app:
    command: my-app.sh
    daemon: simple
    restart-condition: always

parts:
  client:
    plugin: dump
    source: my-app-src/
    stage-packages: 
      - curl

一个好的起点:How to build a snap – tutorial

【问题讨论】:

  • einpoklum 的回答为我指明了正确的方向,谢谢。

标签: linux bash ubuntu snappy


【解决方案1】:

您应该安装经典的 snap,它允许您使用 curl 和 wget 等工具。来自developer tools page

$ snap install classic --edge --devmode

然后进入经典shell(允许你使用apt):

$ sudo classic

【讨论】:

  • 关于 snap 将破坏正常系统的安全规定的警告有多真实?
  • 是的,你可以,但是...我选择 Ubuntu Core 的原因之一是安全性,因此在 classic 模式下运行设备没有多大意义,因为它更容易使用 apt-get 等更“正常”的操作系统,例如 Ubuntu Server。我知道classic 模式是为了开发。
  • 经典的 snap 本质上是一个 chroot。它确实包含您在生产设备上不需要的各种软件,但是一旦您删除它,它就消失了。它不会对我的知识长度进行系统范围的修改。
【解决方案2】:

我不能 100% 确定它在 Ubuntu Core 中,但一个非常基本且常见的程序是 netcat,用于通过 TCP 或 UDP 发送任意数据。见:

Asking a HTTP GET request with netcat

在网站上。

【讨论】:

  • 是的,核心中存在 nc,尽管我在脚本中遇到了多行请求的语法问题,哈哈,谢谢
猜你喜欢
  • 2018-11-14
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 2020-05-08
  • 2019-11-17
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多