2011-08-05 3 views
3

Est-il possible d'établir une connexion directe à Internet sans utiliser de proxy.Connexion directe à Internet sans proxy

Considérons un cas où mon organisation a un proxy et j'utilise l'option DIRECT donnée dans la classe Java Proxy.

SocketAddress addr = new 
InetSocketAddress("webcache.mydomain.com", 8080); 
Proxy proxy = new Proxy(Proxy.Type.DIRECT, addr); 

Si vous allez par la documentation qu'il indique DIRECT ce qui représente une connexion directe, ou l'absence de procuration.

Ce qui est exactement la façon dont il se comporte. Lorsque j'utilise cette option, je ne dois pas donner de détails sur le proxy et je peux accéder au contenu depuis Internet.

J'ai trois questions

  1. Selon ma compréhension, si une organisation a un proxy, tout le réseau le trafic devrait routés par le proxy. Personne ne devrait pouvoir accéder directement au réseau?
  2. Je note également que si je retire les détails du proxy de IE, je ne peux pas accéder au Web :-(Comment Java faire encore?
  3. Si dans toute organisation, vous pouvez accéder à la fois avec le proxy et directement , comment le bloc de pare-feu certains sites? Comment le pare-feu fonctionne même?

Merci à l'avance.

+0

Les questions 1 et 3 conviennent mieux à Serverfault. – Jacob

+0

Toutes, certaines parties de cette question peuvent convenir à la faute du serveur mais je suis également intéressé de savoir comment l'API Java fonctionne. Cette partie ne sera jamais répondue à la faute du serveur. Je vous demande de garder cette question à SO. Merci. – Geek

+0

C'est une décision de la communauté. Mais 2 sur 3 est la majorité des questions;) – Jacob

Répondre

0

Tout le trafic réseau ne passe pas par un proxy si votre organisation dispose d'un proxy. Vous pouvez toujours aller de l'avant et établir une connexion directe à Internet. Généralement, les organisations bloquent les connexions directes et vous forcent à utiliser des proxys. Parfois, ils peuvent vous permettre d'avoir une connexion directe restreinte, ce qui autorise certaines URL et en refuse d'autres.

0

2) Vous avez définir le proxy dans les propriétés du système. Si vous utilisez un IDE, vérifiez le paramètre proxy de l'IDE.

2
Proxy proxy = new Proxy(Proxy.Type.DIRECT, addr); 

N'est pas la méthode appropriée pour créer une directive proxy directe (sans proxy). Vous devriez faire

Proxy proxy = Proxy.NO_PROXY 

La mise en œuvre interne de la classe Socket et les contrôles HttpURLConnection si proxy == Proxy.NO_PROXY (note: "==", pas "égal à égal()"!).

Il ne vérifie PAS si proxy.getType() == Proxy.Type.DIRECT.

+0

merci pour la correction, mais comment le type DIRECT ignore le mandataire de l'organisation et établir une connexion DIRECT avec le monde externe. Pourquoi un navigateur n'est-il pas capable de le faire? – Geek

+0

nouveau Proxy (Proxy.Type.DIRECT) n'est PAS un direct (pas de proxy). Cela peut être un bug ou un oubli de la part des développeurs de Java, mais ça y est. Essayez votre code avec Proxy.NO_PROXY et voyez ce qui se passe. – pap

Questions connexes