begin process at 2010 02 10 02:12:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Reseaux et Internet

 > VISUALISEUR D'ENTÊTE HTTP

VISUALISEUR D'ENTÊTE HTTP


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
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 :8 605

Auteur : n0stra

Ecrire un message privé
Site perso
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...


 Sources du même auteur

Source avec Zip Source avec une capture N0TEPAD EN JAVA

 Sources de la même categorie

Source avec Zip SERVEUR GENERIQUE par pacifikateur
Source avec Zip Source avec une capture JOMESSENGER : APPLICATION CLIENT/SERVER par numurique
Source avec Zip MINI SERVEUR HTTP par yvesyves
Source avec Zip Source avec une capture TCHAT EN DEUX PARTIES: CLIENT ET SERVEUR par benads
Source avec Zip CONNEXION SERVEUR VIA PROXY EN JAVA par moumou95

 Sources en rapport avec celle ci

TELECHARGER UN FICHIER A PARTIR D'UNE URL par sheorogath
Source avec Zip Source avec une capture LOGVIEWER par aaymon
Source avec Zip TOTALFOOTBALL (EN MIEUX) AVEC EXE par JGoldenEye
Source avec Zip Source avec une capture HTML VIEWER -&GT; AVOIR LA SOURCE D'UNE PAGE WEB par aKheNathOn
Source avec Zip TOTALFOOTBALL par JGoldenEye

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...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,780 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales