Je voudrais utiliser la bibliothèque net/imap dans ruby derrière un proxy authentifié, je commençais à creuser et je me demande s'il y a un moyen de le faire déjà ou si je besoin de faire ma propre version de la bibliothèque net/imap qui prend en charge un proxy?net/imap de derrière un proxy
Répondre
Il est possible de tunnel une connexion socket via un serveur proxy HTTPS.
Pour ce faire:
- ouvrir une socket à votre serveur proxy
- d'envoi "nom d'hôte CONNECT: portnumber HTTP/1.0 \ n \ r \ n \ r \ n"
- lire la prise jusqu'à ce que la fin des en-têtes HTTP (2 lignes vides)
- votre prise est maintenant connecté
Voici un ruby example d'un tel tunn el.
Les raisons cela ne fonctionne pas:
- la plupart des administrateurs réseau permettra uniquement se connecter au port 443
- serveur proxy a l'authentification proxy
La meilleure façon de pirater des bibliothèques qui ne prennent pas en charge les informations de proxy est de remplacer Net::HTTP
par une instance de Net::HTTP::Proxy
:
# somewhere before you load net/imap
proxy = Net::HTTP::Proxy(address, host)
Net.class_eval do
remove_const :HTTP
HTTP = proxy
end
Ne pas dire qu'il aurait besoin de courir à travers HTTP ? Je vais essayer demain au cas où. –
Rats. J'ai supposé que la bibliothèque Net/IMAP utilisait la bibliothèque Net :: HTTP pour construire le socket, mais ce n'est pas le cas. (Je n'ai * aucune idée * pourquoi je pensais que, d'ailleurs, cela n'aurait pas beaucoup de sens.) –
Merci à toute direction de faire un support proxy au niveau de la socket, je regarde et il semble que ce peut être désordonné . Je pourrais avoir à suivre le modèle qu'ils ont utilisé pour le Net :: HTTP :: Proxy –
- 1. Dns.GetHostEntry derrière un proxy
- 2. Zend_Feed_Reader derrière un proxy
- 3. WebDAV derrière un proxy inverse
- 4. RubyGems derrière un proxy: InvalidArgument
- 5. Difficulté avec BugzScout.net de derrière un proxy
- 6. Installation de Ruby Gems derrière un proxy
- 7. Paramétrer bundler derrière proxy
- 8. Webservice WCF derrière un proxy inverse public
- 9. Comment utiliser PEAR derrière un proxy?
- 10. Emacs derrière le proxy HTTP
- 11. Déterminez si l'URL de référence est derrière un proxy
- 12. répertoire de la liste Ftp derrière un proxy http
- 13. Utilisation de Tycho derrière un proxy nécessitant une authentification
- 14. Utilisation de la vue Web derrière un proxy (cacao)
- 15. Détection si un utilisateur est derrière un proxy
- 16. Comment utiliser un VCS derrière un proxy HTTP?
- 17. Comment changer le BaseUrl sur un Hudson derrière un proxy?
- 18. Comment assembler un git gem derrière un proxy?
- 19. Détecter si un utilisateur est derrière un proxy Web gratuit?
- 20. Application Android Accès Internet derrière Proxy
- 21. Tomcat6 derrière proxy Apache2.2 avec SSL
- 22. Comment configurer Emacs derrière un proxy HTTP authentifié?
- 23. Utilisation de Google App Engine DEV derrière le serveur proxy
- 24. Exécution de l'application ASP.NET MVC derrière un proxy avec un chemin d'accès relatif différent
- 25. impossible de se connecter à Internet dans un émulateur Android derrière un proxy dans Windows
- 26. Réglage de l'URL de base d'une application ASP.NET derrière un serveur proxy
- 27. Comment puis-je installer des gemmes Ruby sur un Mac derrière un proxy d'entreprise?
- 28. Accéder à une base de données depuis CakePHP derrière un serveur proxy
- 29. Échec des tests unitaires de service Web derrière un proxy dans Eclipse
- 30. Comment configurer un xampp local derrière le proxy de mon entreprise
Ce serveur dispose d'une authentification par proxy. Mais votre exemple a des méthodes de socket pour ce cas. Je pense que je devrais être capable d'utiliser cette socket pour réécrire le net/imap dans quelque chose que je peux utiliser. Merci –