Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VISUALISEUR D'ENTÊTE HTTP


Information sur la source

Catégorie :Reseaux et Internet Classé sous : header, http, visionneuse, viewer, url Niveau : Débutant Date de création : 15/02/2003 Date de mise à jour : 15/02/2003 19:18:02 Vu : 7 458

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
utilisation du package java.net pour visualiser les entêtes HTTP d'une URL, et accessoirement la source...à approfondir...
 

Source

  • package url;
  • import java.net.*;
  • import java.io.*;
  • import javax.swing.*;
  • import java.awt.*;
  • import java.awt.event.*;
  • /**
  • * <p>Titre : URL sniffeur</p>
  • * <p>Description : sniffeur d'URL(en gros...), visualiseur d'entête HTTP</p>
  • * <p>Copyright : y'en a pas chui open, copyleft !!</p>
  • * @author n0stra "LeDroW"
  • * @version 1.0
  • */
  • public class URLsnif extends JPanel implements ActionListener
  • {
  • /*variables d'instance*/
  • private String name;
  • private boolean ok;
  • private JScrollPane jsp1;
  • private JScrollPane jsp2;
  • private JTextArea jta1;
  • private JTextArea jta2;
  • private JTextField jtf;
  • private URL u;
  • private URLConnection connec;
  • /*constructeur*/
  • public URLsnif()
  • {
  • /*création des objets*/
  • jta1 = new JTextArea(10,40);
  • jta1.setEditable(false);
  • jta1.setBackground(Color.lightGray);
  • jta2 = new JTextArea(20,40);
  • jta2.setEditable(false);
  • jta2.setBackground(Color.lightGray);
  • jsp1 = new JScrollPane(jta1);
  • jsp2 = new JScrollPane(jta2);
  • jtf = new JTextField(40);
  • jtf.setText("http://");
  • jtf.addActionListener(this);
  • /*initialisation du panneau*/
  • this.setLayout(new BorderLayout(5, 5));
  • this.add(jtf, BorderLayout.NORTH);
  • this.add(jsp1, BorderLayout.CENTER);
  • this.add(jsp2, BorderLayout.SOUTH);
  • }
  • /*méthode de gestion de la validation de l'URL*/
  • public void actionPerformed(ActionEvent e)
  • {
  • ok=true;
  • try
  • {
  • name = jtf.getText();
  • u = new URL(name);
  • connec = u.openConnection();
  • try
  • {
  • connec.connect();
  • }
  • catch(UnknownHostException ee)
  • {
  • jta1.append("URL inexistante : "+jtf.getText()+"\n");
  • ok=false;
  • }
  • if(ok) jtf.selectAll();
  • }
  • catch(Exception ee)
  • {
  • //ee.printStackTrace();
  • ok=false;
  • }
  • if(ok)
  • {
  • jta1.selectAll();jta1.setText("");
  • this.getEntete();
  • jta2.selectAll();jta2.setText("");
  • this.getSource();
  • }
  • }
  • /*méthode de récupération de l'entête HTTP*/
  • private void getEntete()
  • {
  • String head;
  • int i=0;
  • jta1.append("\tENTETE !!!!!\n");
  • while((head = connec.getHeaderField(i))!= null)
  • {
  • jta1.append(connec.getHeaderFieldKey(i)+" - "+head+"\n");
  • i++;
  • }
  • }
  • /*méthode de récupération du source de l'URL*/
  • private void getSource()
  • {
  • try
  • {
  • InputStream flux = u.openStream();
  • BufferedReader bfr = new BufferedReader(new InputStreamReader(flux));
  • jta2.append("\tSOURCE !!!!!\n");
  • String ligne;
  • while((ligne = bfr.readLine())!= null)
  • {
  • jta2.append(ligne+"\n");
  • }
  • }
  • catch(Exception ee)
  • {
  • ee.printStackTrace();
  • }
  • }
  • /*methode d'exécution principale*/
  • public static void main(String args[])
  • {
  • JFrame frame = new JFrame("_.:-=[_URLSniFF'_]=-:._");
  • frame.addWindowListener(new WindowAdapter()
  • {
  • public void windowClosing(WindowEvent e)
  • {
  • System.exit(1);
  • }
  • });
  • frame.getContentPane().add(new URLsnif(), BorderLayout.CENTER);
  • frame.setSize(600, 600);
  • frame.setResizable(false);
  • frame.setVisible(true);
  • }
  • }
package url;
import java.net.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
 * <p>Titre : URL sniffeur</p>
 * <p>Description : sniffeur d'URL(en gros...), visualiseur d'entête HTTP</p>
 * <p>Copyright : y'en a pas chui open, copyleft !!</p>
 * @author n0stra "LeDroW"
 * @version 1.0
 */

public class URLsnif extends JPanel implements ActionListener
{
  /*variables d'instance*/
  private String name;
  private boolean ok;
  private JScrollPane jsp1;
  private JScrollPane jsp2;
  private JTextArea jta1;
  private JTextArea jta2;
  private JTextField jtf;

  private URL u;
  private URLConnection connec;

  /*constructeur*/
  public URLsnif()
  {
    /*création des objets*/
    jta1 = new JTextArea(10,40);
    jta1.setEditable(false);
    jta1.setBackground(Color.lightGray);
    jta2 = new JTextArea(20,40);
    jta2.setEditable(false);
    jta2.setBackground(Color.lightGray);
    jsp1 = new JScrollPane(jta1);
    jsp2 = new JScrollPane(jta2);
    jtf = new JTextField(40);
    jtf.setText("http://");
    jtf.addActionListener(this);
    /*initialisation du panneau*/
    this.setLayout(new BorderLayout(5, 5));
    this.add(jtf, BorderLayout.NORTH);
    this.add(jsp1, BorderLayout.CENTER);
    this.add(jsp2, BorderLayout.SOUTH);
  }

  /*méthode de gestion de la validation de l'URL*/
  public void actionPerformed(ActionEvent e)
  {
    ok=true;
    try
    {
      name = jtf.getText();
      u = new URL(name);
      connec = u.openConnection();
      try
      {
        connec.connect();
      }
      catch(UnknownHostException ee)
      {
        jta1.append("URL inexistante : "+jtf.getText()+"\n");
        ok=false;
      }
      if(ok) jtf.selectAll();
    }
    catch(Exception ee)
    {
      //ee.printStackTrace();
      ok=false;
    }
    if(ok)
    {
      jta1.selectAll();jta1.setText("");
      this.getEntete();
      jta2.selectAll();jta2.setText("");
      this.getSource();
    }
  }

  /*méthode de récupération de l'entête HTTP*/
  private void getEntete()
  {
    String head;
    int i=0;
    jta1.append("\tENTETE !!!!!\n");
    while((head = connec.getHeaderField(i))!= null)
    {
      jta1.append(connec.getHeaderFieldKey(i)+" - "+head+"\n");
      i++;
    }
  }

  /*méthode de récupération du source de l'URL*/
  private void getSource()
  {
    try
    {
      InputStream flux = u.openStream();
      BufferedReader bfr = new BufferedReader(new InputStreamReader(flux));
      jta2.append("\tSOURCE !!!!!\n");
      String ligne;
      while((ligne = bfr.readLine())!= null)
      {
        jta2.append(ligne+"\n");
      }
    }
    catch(Exception ee)
    {
      ee.printStackTrace();
    }
  }

  /*methode d'exécution principale*/
  public static void main(String args[])
  {
    JFrame frame = new JFrame("_.:-=[_URLSniFF'_]=-:._");
    frame.addWindowListener(new WindowAdapter()
    {
            public void windowClosing(WindowEvent e)
            {
              System.exit(1);
            }
    });
    frame.getContentPane().add(new URLsnif(), BorderLayout.CENTER);
    frame.setSize(600, 600);
    frame.setResizable(false);
    frame.setVisible(true);
  }
}

Conclusion

fonctionnement simple...ya pa de bouton, i suffi de valider la JTextField(la ou le??!)
swing evidemment, c tellement beau...
 

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Connection HTTP +Accès à un serveur [ par dom22 ] dom22Bonjour vous tous . Actuellement je suis en stage pour un mois encore et je ne sais plus comment progresser. Je dois charger un lien internet ou Installation eclipse.... [ par bebelle ] Bonjour, hier j'ai installe eclipse sur ma machine, c etait la premiere fois pour moi.Je me pose une question: Dans quel repertoire dois-je l'installe Installation eclipse.... [ par bebelle ] Bonjour, hier j'ai installe eclipse sur ma machine, c etait la premiere fois pour moi.Je me pose une question: Dans quel repertoire dois-je l'installe ouvrir un url dans internet explorer [ par asx9 ] asx9bonjour,dans mon programme l'utilisateur ouvre l'url :http://localhost/pageprincipalesi une condition n'est pas valide, alors je le redirige direc depuis un menu applet ouvrir les pages dans _blank [ par talula ] Bonjour &#224; tous,J'ai t&#233;l&#233;charg&#233; un menu applet super sympa (je trouve)mais le problems est qu'il ouvre les liens sur lui m&#234;me URL et flux XML [ par dyfred ] Bonjour, Je travaille sur une application qui fonctionne avec des servlets qui renvoient du XML. Cependant, j'aimerai pouvoir g&#233;rer les appels transformer Flux en Images [ par critters ] bonjour, je tente de r&#233;cup&#233;rer le flux qui sort de l&#224; : http://194.3.160.22/home/homeJ.htmlou plus pr&#233;cisemment de l&#224; http:// Emploi, ma boite recrute [ par JBAware ] Bonjour,Je travaille pour une société de service de renommée internationale (Je vous assure, je mens pas). Pour l'histoire l'entreprise est internatio infos jtable [ par benohite ] bonjour a tous,je viens de tomber sur un site ou l on trouve des classe qui permettent l utilisation d une jtable de facon simpleje n est pas encore t URL et GET [ par sheorogath ] bonjour a tous,je fais un programme qui recupere un flux de radio gratuite sur le web (shoutcast)et je voudrais recuperer les titre en lecture :j'ai d


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.