2013-04-15 14 views
5

Próbuję pobrać plik nad HTTPS w Io language:Io: protokół 'https' nieobsługiwany

url := URL with("https://api.example.com") 
url fetch println 

i uzyskać w ten sposób:

Error_0x7f97e1509a80: 
    location   = "/opt/local/lib/io/addons/Socket/io/URL.io:232" 
    message   = "Protocol 'https' unsupported" 

starałem się znaleźć coś w sieci , ale jak wszyscy wiedzą, nie jest to łatwe ze względu na nazwę. Znalazłem tylko ten wątek http://tech.groups.yahoo.com/group/iolanguage/message/10898, ale jest dość stary.

Jak mogę uzyskać obsługę HTTPS w Io?

EDIT

Znalazłem że jest dodatek SecureSocket, otoki nad OpenSSL, w źródle Io. Nie zainstalowano go jednak, gdy zrobiłem sudo port io install na moim MacBooku z Mountain Lion. Próbowałem zbudować go ze źródła, ale bez powodzenia. Nie zbudowano też dla mnie na komputerze z Linuksem.

EDIT2

Ja tylko starałem się budować Io od źródła (git clone https://github.com/stevedekorte/io.git) ponownie (za pomocą dołączonego skryptu build.sh) i okazało się, że CUpewnij wykrył OpenSSL:

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

ale potem AddSocketSocket nie jest zbudowany. Jego Plik Readme: https://github.com/stevedekorte/io/tree/master/addons/SecureSocket mówi:

Wiązania DTLS1 nie są użyteczne, chyba że łatki w tym pliku są stosowane do OpenSSL 0.9.8e. Ta poprawka obejmuje jednak dezaktywację kodu retransmisji Handshake w d1_both.c, , co czyni go nieodpowiednim dla środowisk produkcyjnych. Nie ponoszę żadnej odpowiedzialności, itp. Jeśli chcesz mimo to użyć, zastosuj łaty (zebrane z różnych grup dyskusyjnych i moje własne eksperymenty) i odkomentuj skomentowany blok pliku build.io. Dla wartości , wsparcie DTLS w OpenSSL jest nowe od 0.9.8 i na początku jest dość błędne . To niezły pomysł, ale w ogóle nie wydaje się, by był gotowy do produkcji. Te wiązania nie są wyjątkiem.

+1

Która część tego ma coś wspólnego z 'c'? – Sebivor

+0

Cały interpreter Io jest napisany w języku C, łącznie z modułem powiązań SSL, który obecnie nie jest budowany. – piokuc

+1

Wiele rzeczy jest napisanych w C. Czy to jest prawidłowe, aby zapytać, jak otworzyć dokument tekstowy tutaj, ponieważ Microsoft Word jest napisany w C? Nie. "" Próbowałem zbudować go ze źródła, ale bez powodzenia, nie zbudowałem też dla mnie na komputerze z Linuksem ". * Bądź konkretny, albo nie pomożemy ci. W rzeczywistości * nie możemy * pomóc, jeśli nie będziesz konkretny. Jakie są błędy występujące podczas próby zbudowania? Czy przeczytałeś plik 'INSTALL' lub jakiekolwiek pliki readme, które mogły pochodzić z kodu źródłowego? Czy wysłałeś wiadomość do śledzenia błędów? Uzbrojony w te pytania, proszę zaktualizować własne pytanie ... – Sebivor

Odpowiedz

2

Jeśli nie można uzyskać IO zrobić to najlepszym rozwiązaniem byłoby powołanie zewnętrznego narzędzia jak wget lub curl które mogą, a następnie ładowanie pliku/rezultat lokalnie lub odsyłając go rurą.

+0

Dziękuję za radę, ale nie jest to dokładnie to, na co liczyłem ... – piokuc

0

Dla każdego zainteresowanego innym obejściem powinno być możliwe umieszczenie stud przed programem Io, który wykona operacje SSL. Jeszcze tego nie testowałem.

stud - Scalable TLS Unwrapping Daemon stud jest proxy sieci, które przerywa połączenia TLS/SSL i przekazuje ruch niezaszyfrowany do niektóre backend. Jest przeznaczony do wydajnego korzystania z 10-ciu tysięcy połączeń na maszynach wielordzeniowych.