Io 言語で HTTPS 経由でファイルをフェッチしようとしています:
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 のソースに、OpenSSL のラッパーである SecureSocket アドオンがあることがわかりました。sudo port io install
ただし、Mountain Lion を搭載した MacBook にインストールしたときはインストールされませんでした。ソースからビルドしようとしましたが、うまくいきませんでした。Linux マシンでもビルドできませんでした。
EDIT2
ソース ( git clone https://github.com/stevedekorte/io.git
) から Io を再度ビルドしようとしました (付属のスクリプトを使用build.sh
)。cmake が OpenSSL を検出したことがわかりました。
-- Found OpenSSL: /usr/lib/libssl.dylib;/usr/lib/libcrypto.dylib
しかし、SecureSocket アドオンはビルドされません。その readme ファイル: https://github.com/stevedekorte/io/tree/master/addons/SecureSocketは言う:
このファイルのパッチが OpenSSL 0.9.8e に適用されない限り、DTLS1 バインディングは使用できません。ただし、このパッチには d1_both.c のハンドシェイク再送信コードの無効化が含まれているため、実稼働環境には適していません。私は一切の責任を負いません、などなど。どうしても使いたい場合は、(さまざまなニュースグループや私自身の実験から集めた) パッチを適用し、build.io のコメントアウトされたブロックのコメントを外してください。価値のあることとして、OpenSSL での DTLS サポートは 0.9.8 の時点で新しく、そもそもかなりバグがあります。良いアイデアですが、まだ製品化の準備が整っていないようです。これらのバインディングも例外ではありません。