2013-04-15 6 views
5

Je suis en train de chercher un fichier via HTTPS dans Io language:Io: protocole 'https' non pris en charge

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

Et je reçois ceci:

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

je tentais de trouver quelque chose sur le net mais, comme tout le monde le sait, ce n'est pas facile à cause du nom. J'ai seulement trouvé ce fil http://tech.groups.yahoo.com/group/iolanguage/message/10898 mais c'est assez vieux.

Comment puis-je obtenir le support HTTPS dans Io?

EDIT

que j'ai trouvé qu'il ya un addon SecureSocket, une enveloppe sur OpenSSL, dans la source de Io. Il n'a pas été installé quand j'ai fait sudo port io install sur mon MacBook avec Mountain Lion, cependant. J'ai essayé de le construire à partir de la source, mais pas de chance. Il ne s'est pas construit pour moi sur une machine Linux non plus.

EDIT2

Je viens d'essayer de construire Io de la source (git clone https://github.com/stevedekorte/io.git) à nouveau (en utilisant le script inclus build.sh) et il est apparu que CMake a détecté OpenSSL:

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

Mais la L'addon SecureSocket n'est pas construit. Son fichier readme: https://github.com/stevedekorte/io/tree/master/addons/SecureSocket dit:

Les liaisons DTLS1 ne sont pas utilisables à moins que les correctifs dans ce fichier sont appliqués à 0.9.8e OpenSSL. Cependant, ce patch inclut une désactivation du code de retransmission de handshake dans d1_both.c, le rendant inadapté aux environnements de production. Je ne prends aucune responsabilité , etc., etc. Si vous voulez l'utiliser quand même, appliquez les correctifs (rassemblés à partir de divers newsgroups et mes propres expérimentations) et décommentez le bloc commenté de build.io. Pour ce que vaut , le support DTLS dans OpenSSL est nouveau à partir de 0.9.8 et est assez buggé pour commencer. C'est une bonne idée, mais la production ne semble pas encore prête pour le moment. Ces liaisons ne font pas exception.

+1

Quelle partie de ceci a quelque chose à voir avec 'c'? – Sebivor

+0

L'interpréteur Io entier est écrit en C, y compris le module de liaison SSL, qui n'est pas construit actuellement. – piokuc

+1

Beaucoup de choses sont écrites en C. Est-il correct de demander comment ouvrir un document Word ici, parce que Microsoft Word est écrit en C? Non. * "J'ai essayé de le construire à partir de la source, mais pas de chance, ça ne s'est pas développé pour moi sur une machine Linux non plus." * Soyez précis, ou nous ne vous aiderons pas. En fait, nous * ne pouvons pas * vous aider si vous n'êtes pas précis. Quelles sont les erreurs qui se produisent lorsque vous essayez de construire? Avez-vous lu le fichier 'INSTALL', ou tout fichier readme fourni avec le code source? Avez-vous posté un bug tracker? Maintenant armé de ces questions, s'il vous plaît mettez à jour votre propre question ... – Sebivor

Répondre

2

Si vous ne pouvez pas obtenir io faire votre meilleure option appellerait un outil externe comme wget ou curl qui peut et charger le fichier/résultat localement ou retour par un tuyau.

+0

Merci pour le conseil mais ce n'est pas exactement ce que j'espérais ... – piokuc

0

Pour toute autre personne intéressée par une autre solution de contournement, il devrait être possible de mettre stud devant un programme Io qui fera les choses SSL. Je n'ai pas encore testé ça.

stud - Le goujon Scalable TLS Unwrapping Daemon Tools est un proxy réseau qui met fin aux connexions TLS/SSL et transmet le trafic non crypté certains back-end. Il est conçu pour gérer efficacement des dizaines de milliers de connexions sur des machines multicœurs.

Questions connexes