IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

R�cup�rer le contenu d'une page web


Sujet :

JavaScript

  1. #1
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2012
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 7
    Par d�faut R�cup�rer le contenu d'une page web
    Bjr � tous,

    je ne connait absolument pas javascript mais je dois l'utiliser pour le probl�me suivant :

    - sur un raspberry j'ai install� transmission et j'utilise le webui.
    - transmission est li� a openVPN
    - la page index.html fait appel � pas mal de scripts javascript que je ne compte absolument pas toucher.
    - par contre, j'ai rajout� un div sur la page index et j'aimerais lorsqu'on clique dessus que la page aille se loguer � une adresse pr�cise qui lui transmet son ip (l'ip du serveur transmission, donc).

    index.html de transmission IP ? --------> page php externe (dont je connais l'adresse) qui lui passe l'adresse IP : print$_SERVER['REMOTE_ADDR']

    il faut donc que je me connecte � cette page php externe et que j'affiche l'adresse IP.
    SVP quelqu'un pourrait-il m'aider ?
    sinon, transmission utilisant rpc, comment incorporer le PHP ? (ce serait plus simple pour moi)

    voil� le d�but de la page index.html (voir dans body "c'est ici que je commence")


    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <!DOCTYPE html>
    <html>
    	<head>
    		<!--<meta http-equiv="Refresh" content="30; url="index.html">-->
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<meta http-equiv="X-UA-Compatible" content="IE=8,IE=9"><!-- ticket #4555 --> 
    		<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>
    		<meta name="apple-mobile-web-app-capable" content="yes" />
    		<link href="./images/favicon.ico" rel="icon" />
    		<link href="./images/favicon.png" rel="shortcut icon" />
    		<link rel="apple-touch-icon" href="./images/webclip-icon.png"/>
    		<script type="text/javascript" src="./javascript/jquery/jquery.min.js"></script>
    		<script type="text/javascript" src="./javascript/jquery/jqueryui-1.8.16.min.js"></script>
    		<link rel="stylesheet" href="./style/jqueryui/jqueryui-1.8.16.css" type="text/css" media="all" />
    <!--
    		<link media="screen" href="./style/transmission/mobile.css" type= "text/css" rel="stylesheet" />
    -->
    		<link media="only screen and (max-device-width: 480px)" href="./style/transmission/mobile.css" type= "text/css" rel="stylesheet" />
    		<link media="screen and (min-device-width: 481px)" href="./style/transmission/common.css" type="text/css" rel="stylesheet" />
    		<!--[if IE 8]>
    		<link media="screen" href="./style/transmission/common.css" type="text/css" rel="stylesheet" />
    		<![endif]-->
    		<script type="text/javascript" src="./javascript/jquery/jquery.transmenu.min.js"></script>
    		<script type="text/javascript" src="./javascript/jquery/jquery.contextmenu.min.js"></script>
    		<script type="text/javascript" src="./javascript/jquery/jquery.form.min.js"></script>
    		<script type="text/javascript" src="./javascript/jquery/json2.min.js"></script>
    		<script type="text/javascript" src="./javascript/common.js"></script>
    		<script type="text/javascript" src="./javascript/inspector.js"></script>
    		<script type="text/javascript" src="./javascript/prefs-dialog.js"></script>
    		<script type="text/javascript" src="./javascript/remote.js"></script>
    		<script type="text/javascript" src="./javascript/transmission.js"></script>
    		<script type="text/javascript" src="./javascript/torrent.js"></script>
    		<script type="text/javascript" src="./javascript/torrent-row.js"></script>
    		<script type="text/javascript" src="./javascript/file-row.js"></script>
    		<script type="text/javascript" src="./javascript/dialog.js"></script>
    		<script type="text/javascript" src="./javascript/formatter.js"></script>
    		<title>Transmission Web Interface</title>
    	</head>
    	<body id="transmission_body">
     
    		<div id="toolbar">
    			<div id="toolbar-open" title="Open Torrent"></div>
    			<div id="toolbar-remove" title="Remove Selected Torrents"></div>
    			<div id="toolbar-separator"></div>
    			<div id="toolbar-start" title="Start Selected Torrents"></div>
    			<div id="toolbar-pause" title="Pause Selected Torrents"></div>
    			<div id="toolbar-separator"></div>
    			<div id="toolbar-start-all" title="Start All Torrents"></div>
    			<div id="toolbar-pause-all" title="Pause All Torrents"></div>
     
    <!--		C'EST ICI QUE JE COMMENCE -->
     
    			<div id="actual_image" title="actual_image"> <img src="./images/sync.ico"></div>
    			<div id="vpn_image" title="vpn_image"> <img src="./images/vpn.ico"></div>
    			<div id="ext_vpn" title="ext_vpn"> <h3>logué </h></div>
    			<div id="ip_image" title="ip_image"> <img src="./images/ip.ico"></div>
    			<div id="extip" title="eip" widht="30" height="50" src="monip.htm"><h3>192.168.0.235</h></div>
     
    			<div id="toolbar-inspector" title="Toggle Inspector"></div>
     
    		</div>
     
    		<div id="statusbar">
    			<div id='filter'>
    				Show
    				<select id="filter-mode">
    					<option value="all">All</option>
    					<option value="active">Act

  2. #2
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Je sais pas si j'ai bien compris ton probl�me� D�j� tu pourrais appeler la page PHP avec une iframe pour voir si la communication se fait bien.

    Dans ta div :
    Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
    <iframe width="400" height="100" src="adresse_de_la_page.php"></iframe>
    Si �a marche, tu pourrais la remplacer par un bout de script qui fait un appel Ajax et qui place le r�sultat dans ta div.
    Code JS : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var xhr = new XMLHttpRequest();
    xhr.open("GET", "adresse_de_la_page.php");
    xhr.onreadystatechange = function() {
       if (this.readyState < 4) return;
       if (this.status !== 200) {
          console.log("erreur réseau : " + this.status + " " + this.statusText);
       } else {
          document.getElementById("la-div")
             .appendChild(document.createTextNode(this.responseText));
       }
    };
    xhr.send();
    Au besoin remplace console.log par alert vu que je ne sais pas quel navigateur tu utilises sur ton Rasp.

    En fait tu peux aussi te servir de ce bout de code pour voir ce qui ne va pas si l'iframe n'a pas march�. Le code HTTP te sera utile. Par exemple tu pourrais te prendre une 409, c'est arriv� � d'autres. Et si le code est 0, �a veut dire que la requ�te a �t� bloqu�e par ton navigateur.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  3. #3
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2012
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 7
    Par d�faut
    Merci... je vais voir �a...

  4. #4
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    D�cembre 2012
    Messages
    7
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activit� : �tudiant
    Secteur : Industrie

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 7
    Par d�faut
    Re - bjr

    J�ai essay� xmlhttprequest �a fonctionne tr�s bien, sauf qu�il me retourne l�ip locale du client et non du serveur (logique).

    J�ai donc cr�er un script bash qui teste l�ip du serveur transmission et le stoque dans un fichier, puis j'utilise xmlhttprequest pour charger l�ip et l'afficher dans une div. �a fonctionne tr�s bien sauf si le client est sous Android.

    Xmlhttprequest ne semble pas fonctionner tel quel Sur android. Quelqu�un � une id�e ?

    Encore une question : j'essaye de tester la r�ponse que j�ai mis dans une variable mais �a ne fonctionne pas :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    If (top == '192.168.0.254') {
        document.getElementById('id_de_l’icone').innerHTML = ’src="chemin_icone"'
    }
    si l�ip est Ok on met l'ic�ne verte et on affiche l�ip (... INNERHTML = tmp) (avec l�ip de la div de l�ip) sinon on met la rouge.
    Peut �tre en mettant src=.... dans une variable ?

    Cactus

  5. #5
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Re,
    Citation Envoy� par cactus68100 Voir le message
    J�ai essay� xmlhttprequest �a fonctionne tr�s bien, sauf qu�il me retourne l�ip locale du client et non du serveur (logique).
    Est-ce que tu as essay� $_SERVER['SERVER_ADDR'] ? (liste des valeurs de $_SERVER).

    Note � part : � ma connaissance, c'est bien le navigateur qui fait les requ�tes DNS pour convertir les noms de domaine en adresses IP, mais il fait rapidement abstraction de l'IP et les couches sup�rieures (hypertexte, JavaScript) ne travaillent qu'avec les domaines, donc on ne � voit � jamais les IP dans le code JS.

    Xmlhttprequest ne semble pas fonctionner tel quel Sur android. Quelqu�un � une id�e ?
    Pas moi ; esp�rons que tu auras une r�ponse dans l'autre sujet que tu as ouvert.

    Encore une question : j'essaye de tester la r�ponse que j�ai mis dans une variable mais �a ne fonctionne pas :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    If (top == '192.168.0.254') {
        document.getElementById('id_de_l’icone').innerHTML = ’src="chemin_icone"'
    }
    si l�ip est Ok on met l'ic�ne verte et on affiche l�ip (... INNERHTML = tmp) (avec l�ip de la div de l�ip) sinon on met la rouge.
    Peut �tre en mettant src=.... dans une variable ?

    Cactus
    Il y a trois raisons pour lesquelles ce code ne marche pas.
    1. Comme je l'ai dit, JavaScript ne voit pas les IP.
    2. Ensuite, tu ne peux pas comparer top, qui est une instance de Window, avec une cha�ne de caract�res.
    3. Enfin, tu n'utilises pas correctement innerHTML : cette propri�t� agit sur les n�uds descendants (le contenu), pas sur l'�l�ment lui-m�me. Une image n'ayant pas de descendants, innerHTML n'a pas d'effet. La solution est plus simple : agis directement sur l'attribut src :
      Code : S�lectionner tout - Visualiser dans une fen�tre � part
      document.getElementById('id_de_l’icone').src = "chemin_icone";


    Au fait, attention avec l'apostrophe typographique () : ce n'est pas un d�limiteur en JS ; en fait c'est un caract�re comme les autres. Tu ne peux pas t'en servir comme guillemet.
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

Discussions similaires

  1. R�cup�rer le contenu d'une page web prot�g�e
    Par karoudja dans le forum Langage
    R�ponses: 3
    Dernier message: 27/08/2007, 10h21
  2. r�cup�rer le contenu d'une page web
    Par marielaure2805 dans le forum Langage
    R�ponses: 4
    Dernier message: 28/02/2007, 13h12
  3. R�cup�rer le contenu d'une page web
    Par smarties dans le forum Entr�e/Sortie
    R�ponses: 2
    Dernier message: 13/02/2007, 01h25
  4. [Servlet]R�cup�rer le contenu d'une page web
    Par Jarodnet dans le forum Servlets/JSP
    R�ponses: 6
    Dernier message: 06/10/2005, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo