4

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

(http-get "http://example.com" #:streaming? #t)

但是,当我尝试以https相同的方式提出请求时,我得到了

400 The plain HTTP request was sent to HTTPS port

错误。

4

1 回答 1

1

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

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

于 2016-01-25T22:31:17.233 回答