我正在尝试通过 HTTPS 以Io 语言获取文件:
url := URL with("https://api.example.com")
url fetch println
我明白了:
Error_0x7f97e1509a80:
location = "/opt/local/lib/io/addons/Socket/io/URL.io:232"
message = "Protocol 'https' unsupported"
我试图在网上找到一些东西,但是众所周知,这并不容易,因为它的名字。我只找到了这个线程http://tech.groups.yahoo.com/group/iolanguage/message/10898但这已经很老了。
如何在 Io 中获得 HTTPS 支持?
编辑
我发现在 Io 的源代码中有一个 SecureSocket 插件,它是 OpenSSL 的包装器。不过,当我sudo port io install
在装有 Mountain Lion 的 MacBook 上安装它时,它并没有安装。我尝试从源代码构建它,但没有运气。它也不是在 Linux 机器上为我构建的。
编辑2
我刚刚尝试git clone https://github.com/stevedekorte/io.git
再次从源代码 () 构建 Io(使用包含的脚本build.sh
),结果发现 cmake 确实检测到了 OpenSSL:
-- Found OpenSSL: /usr/lib/libssl.dylib;/usr/lib/libcrypto.dylib
但是没有构建 SecureSocket 插件。它的自述文件:https ://github.com/stevedekorte/io/tree/master/addons/SecureSocket说:
除非将此文件中的补丁应用于 OpenSSL 0.9.8e,否则 DTLS1 绑定不可用。但是,此补丁包括停用 d1_both.c 中的握手重传代码,使其不适合生产环境。我不承担任何责任,等等。如果你想使用它,请应用补丁(从各种新闻组和我自己的实验中收集)并取消注释 build.io 的注释掉的块。值得一提的是,OpenSSL 中的 DTLS 支持从 0.9.8 开始是新的,并且从一开始就非常错误。这是一个好主意,但它似乎还没有准备好生产。这些绑定也不例外。