2010-10-19 5 views
2

je suis en train de remplacer essentiellement l'url d'une page Web avec son adresse IP par exemple, au lieu decomment remplacer url de la page Web avec adresse ip

www.facebook.com 

je veux le remplacer par

66.220.153.11 

Justification
J'ai récemment découvert que notre école bloque des sites Web basés sur un modèle de chaîne particulier dans l'URL www. facebook.com est bloqué mais 66.220.153.11 n'est pas encore ils sont la même chose.

donc je veux apprendre comment faire en utilisant javascript (est-ce possible?) Donc je peux développer un addon Firefox pour changer automatiquement l'url www.facebook.com à 66.220.153.11 et battre la censure .
Je suis habituellement un programmeur c mais je sais peu de javascript. Aide moi. Merci

+2

+1 Une question intéressante, mais «ils sont pourtant la même chose» est incorrecte: Seulement si le site est configuré pour afficher le site lors de la saisie de l'adresse IP cela fonctionnera. Pour la grande majorité des sites, ce ne sera pas le cas. –

+1

@pekka: ** Pour la grande majorité des sites, ce ne sera pas **. Donnez-nous un exemple illustratif d'un site Web où le remplacement de l'URL avec l'adresse IP ne fonctionnera pas. Merci –

+2

J'ai un pour vous: Facebook :) Essayez de vous connecter à partir de la page que vous avez ouvert en utilisant l'adresse IP. En dehors de cela, chaque site Web qui fonctionne sur l'hébergement partagé est lié à ne pas fonctionner (parce que plusieurs domaines partagent une adresse IP). Cependant, tous les sites principaux fonctionnent, car une vérification rapide montre –

Répondre

3

(En supposant l'accès au site via l'IP fonctionne)

Je ne sais pas comment vous attendez une réponse détaillée soit, mais voici une approche générale:

  • Modification de l'hôte
    C'est facile. L'objet location a un attribut hostname. Si vous avez l'adresse IP, vous pouvez l'assigner à location.hostname. En cas de modification, le site rechargera (example - bien sûr, la page cible n'existe pas).
    Dans votre plugin, vous pouvez attacher un gestionnaire d'événements pour l'événement load à l'objet gBrowser. Lisez à propos de Intercepting Page Loads.

  • Obtenir l'adresse IP
    C'est plus délicat. La seule chose qui me vient à l'esprit est d'utiliser un service web qui fait le nom de l'hôte en résolution IP. Donc, vous devrez utiliser Ajax avec (probablement) JSONP pour cela.

J'espère que cela vous donne un début.

1

Cela ne peut pas fonctionner pour le plus de domaines dans le monde, car l'adresse IP pointe vers un serveur et non vers un domaine. S'il existe des domaines hébergés différents sur le même serveur (souvent des centaines de domaines sont hébergés sur un serveur), il est impossible de pointer vers le domaine voulu sans connaître les paramètres virtualhost (qui ne sont généralement pas publics).

Vous pourriez jeter un oeil à cela et voir combien de domaines peuvent dépendre d'un seul IP:
http://www.robtex.com/ip/194.117.254.46.html

Voir aussi, le nombre de domaines hébergés sur le facebook-IP:
http://www.robtex.com/ip/66.220.153.11.html

0

Pourquoi n'utilisez-vous pas un proxy pour contourner les blocs?