2013-04-15 7 views
5

Я пытаюсь извлечь файл через HTTPS в Io language: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, но это довольно старый.

Как я могу получить поддержку HTTPS в Io?

EDIT

Я обнаружил, что есть SecureSocket аддон, обертка над OpenSSL, в источнике Ио. Он не был установлен, когда я сделал sudo port io install на моем MacBook с Mountain Lion. Я попытался построить его из источника, но не повезло. Это также не создавалось для меня на машине Linux.

EDIT2

Я просто пытался построить Io от источника (git clone https://github.com/stevedekorte/io.git) снова (с помощью прилагаемого сценария build.sh), и оказалось, что CMake сделал обнаружить OpenSSL:

-- Found OpenSSL: /usr/lib/libssl.dylib;/usr/lib/libcrypto.dylib 

Но тогда Аддон SecureSocket не построен. Его ридй файл: https://github.com/stevedekorte/io/tree/master/addons/SecureSocket говорит:

привязки DTLS1 не могут быть использованы, если патчи в этом файле не применены к OpenSSL 0.9.8e. Однако этот патч включает в себя дезактивацию кода повторной передачи рукопожатия в d1_both.c, , что делает его непригодным для производственных условий. Я не принимаю ответственность за и т. Д. Если вы все равно хотите его использовать, примените исправления (собранные из различных групп новостей и собственные эксперименты) и раскомментируйте заблокированный блок build.io. Для чего стоит , поддержка DTLS в OpenSSL нова по сравнению с 0.9.8 и для этого довольно сложная . Это хорошая идея, но, похоже, пока еще нет готовой продукции . Эти привязки не являются исключением.

+1

Какая часть этого имеет какое-либо отношение к 'c'? – Sebivor

+0

Весь интерпретатор Io написан на C, включая модуль привязки SSL, который в настоящее время не создается. – piokuc

+1

В C. Написано много вещей. Правильно ли спросить, как открыть документ Word здесь, потому что Microsoft Word написан на C? Нет. * «Я попытался создать его из источника, но не повезло. Это тоже не создавалось для меня на машине Linux». * Будьте конкретны, или мы вам не поможем. На самом деле мы * не можем помочь вам, если вы не будете конкретны. Какие ошибки возникают при попытке создания? Вы читали файл INSTALL или какие-либо файлы readme, которые могли быть отправлены с исходным кодом? Вы отправили сообщение в трекер ошибок? Теперь, вооруженный этими вопросами, пожалуйста, обновите свой собственный вопрос ... – Sebivor

ответ

2

Если вы не можете получить И.О., чтобы сделать это лучшим вариантом будет вызов внешнего инструмента, как wget или curl, которые могут затем загружающий файл/результат локально или возвращающегося его через трубу.

+0

Спасибо за совет, но это не совсем то, на что я надеялся ... – piokuc

0

Для кого-либо другого, заинтересованного в другом обходном пути, должно быть возможно поставить stud перед программой Io, которая будет делать материал SSL. Я еще не проверял это сам.

шпилька - Масштабируемая TLS Unwrapping Daemon шпилька является сетевой прокси, который прекращает TLS/SSL соединения и передает незашифрованый трафик некоторые бэкэнда. Он предназначен для эффективной обработки 10-ти тысяч соединений на многоядерных станках.

Смежные вопросы