Guile 发出 https 请求

Guile make https request

如何使用 Guile 发出 https 请求?我使用 web client

提出简单的 http 请求
(http-get "http://example.com" #:streaming? #t)

不过,当我尝试以相同方式发出 https 请求时,我得到了

400 The plain HTTP request was sent to HTTPS port

错误。

坏消息是,默认情况下,Web 客户端包不支持 HTTPS。如果您检查 open-socket-for-uri 过程的源代码,很明显只支持 "plain" HTTP。

好消息是您可以将#:port 参数指定给http-get(以及所有http-* 方法)以传递TLS-encrypted I/O 端口。 GnuTLS-Guile 提供了一种机制,可以非常轻松地创建一个 TLS-encrypted 套接字作为 Scheme I/O 端口。