begin process at 2010 02 09 22:01:13
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Reseaux et Internet

 > ENREGISTREMENT D'UNE PAGE WEB DANS UN STRING

ENREGISTREMENT D'UNE PAGE WEB DANS UN STRING


 Information sur la source

Note :
7,67 / 10 - par 3 personnes
7,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Reseaux et Internet Niveau :Débutant Date de création :22/10/2003 Date de mise à jour :22/10/2003 14:04:21 Vu :5 575

Auteur : YavaDeus

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Ce programme permet de charger une URL quelquonque très rapidement dans un String
Le code est garanti valide quelle que soit l'URL donnée
Libre à vous ensuite d'écrire le String dans un fichier si vous voulez faire un enregistrement de page.
Les données étant enregistrées dans un tableau de byte avant leur conversion en String, vous pouvez également récuperer des fichiers binaires (Il suffit d'enlever la partie Conversion du tableau en String)

Source

  • try
  • {
  • int c = 0;
  • URL u=new URL("tapez ici votre URL");
  • HttpURLConnection conn = (HttpURLConnection)(u.openConnection());
  • c=conn.getResponseCode();
  • //Création du flux
  • InputStream flux= conn.getInputStream();
  • BufferedInputStream bis = new BufferedInputStream(flux);
  • int taille=conn.getContentLength();
  • if (taille==-1) taille=100;
  • byte[] donnees = new byte[taille];
  • int octetsLus = 0;
  • int deplacement = 0;
  • float alreadyRead = 0;
  • //Recopier les donnees
  • while(deplacement < taille)
  • {
  • octetsLus = bis.read(donnees, deplacement, donnees.length-deplacement);
  • alreadyRead = alreadyRead + octetsLus;
  • if(octetsLus == -1) break;
  • deplacement += octetsLus;
  • }
  • //Conversion du tableau en String
  • String monString=new String(donnees);
  • //Fermeture des flux
  • flux.close();
  • bis.close();
  • }
  • catch(Exception e)
  • {
  • System.out.println("ERREUR : "+e);
  • }
try
{
	int c = 0;
	URL u=new URL("tapez ici votre URL");
	HttpURLConnection conn = (HttpURLConnection)(u.openConnection());
	c=conn.getResponseCode();
	//Création du flux	
	InputStream flux= conn.getInputStream();
	BufferedInputStream bis = new BufferedInputStream(flux);
	int taille=conn.getContentLength();
	if (taille==-1) taille=100;
	byte[] donnees = new byte[taille]; 
	int octetsLus = 0;
	int deplacement = 0; 
	float alreadyRead = 0; 
	//Recopier les donnees
	while(deplacement < taille)
	{
		octetsLus = bis.read(donnees, deplacement, donnees.length-deplacement); 
		alreadyRead = alreadyRead + octetsLus; 
		if(octetsLus == -1) break; 
		deplacement += octetsLus; 		
	}
	//Conversion du tableau en String
	String monString=new String(donnees);
	//Fermeture des flux
	flux.close();	
	bis.close();	
}
catch(Exception e)
{
	System.out.println("ERREUR : "+e);
}

 Conclusion

Voila, avec l'ADSL, c quasi instantanné, j'ai pas essayé sur une connexion 56K
Si jamais ça ne marche pas, c que vous n'êtes pas connecté, ou que votre URL ne mene a rien
(Bon, si jamais il y a un bug quand même, faîtes le moi savoir)


 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

Commentaires et avis

Commentaire de playmo420 le 05/02/2005 11:10:49

J'ai un petit problème avec cette source. Lorsque j'assaye de l'utiliser, l'exception connexion timed out est lancée. Je pense (enfin je suis sûr) que cela vient du fait que ma connexion passe par un proxy, mais je ne réussi pas à trouver comment configurer les paramètres du proxy dans le programme... Quelqun a une idée ?

Commentaire de ziptric le 26/10/2005 13:06:07

il suffit d'ajout avant la connection ces parametres:

//Parametre de proxy
proxy=1; //active le proxi
AdrProxy="129.13.0.1"; //adresse du proxy
PortProxy="80"; //port de ton proxy

par exemple ;)

Commentaire de iamjul le 03/12/2005 16:00:29

petite question : j'essaye d'enregistrer une page sur un site mais il se trouve qu'il faut pour accéder à cette page s'identifier au para avant... comment modifier le code pour gérer ça ?

 Ajouter un commentaire




Nos sponsors


Sondage...

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,374 sec (3)

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