Les Snippets

Connexion

Récuperer la source html d'un site

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 11/04/2006 23:36:27 et initié par KiNdErMaXi [Liste]
Date de mise à jour : 21/04/2009 12:32:23
Vue : 22911
Catégorie(s) : Web
Langages dispo pour ce code :
- mIRC
- C# 1.x, C# 2.x
- VB6, VBA
- PHP 4, PHP 5
- Java
- Windev
- PHP 4, PHP 5
- VB6, VBA



Langage : mIRC
Date ajout : 11/04/2006
Posté par KiNdErMaXi [Liste]

;On ouvre un alias
alias site {
;On ferme la socket au cas où elle serai déjà ouverte
  sockclose site
;On ouvre la socket qui porte le nom "site" sur l'adresse "codyx.org" sur le port 80 (port des sites web)
  sockopen site codyx.org 80
}
;On réagis a l'evenement "sockopen", c'est a dire, quand la socket s'ouvre
on *:sockopen:site:{
;Si il y a une erreur, on le signale et on arrète la remote (halt)
  if ($sockerr) { echo -a IMPOSSIBLE DE CONNECTER LA SOCKET. | halt }
;On signale la connection de la socket
  echo -a Socket connecté.
;C'est ici qu'on récupère la source du site, grace au "GET"
;Ca c'est le protocole du web, ca vient pas du mirc
  sockwrite -nt $sockname GET http://codyx.org
;Le $crlf est un saut de ligne
  sockwrite -nt $sockname $crlf
  sockwrite -nt $sockname $crlf
}
;On "lit" les données récupérées
on *:sockread:site:{
;On stock dans une variable ce qui est récupéré
 sockread %a 
;On l'écrit dans le fichier codyx.txt
 write codyx.txt %a
;On efface la variable
 unset %a
}
;On préviens que le chargement est terminé, et donc que la socket est fermée
on *:sockclose:site:{
 echo -a Socket fermé. 
;On ouvre codyx.txt pour voir ce qu'on a récupéré
 run codyx.txt 
}

Remarque :
Avec ce snippet, on récupère donc la source d'une page web.
On peut après modifications et quelques minutes de code, récuperer des informations d'un site sans ouvrir son navigateur ;o)
Langage : C# 1.x , C# 2.x
Date ajout : 16/04/2006
Posté par Bidou [Liste]
DateMAJ : 20/04/2006

/// ---------------------------------------------------------------------
/// <summary>
/// Get the content of a web page.
/// </summary>
/// <param name="url"> The URL of the Web page. </param>
/// <returns> The content of the page. </returns>
/// ---------------------------------------------------------------------
public static string GetPageContent(string url) 
{
  HttpWebResponse httpWResponse = null; 
  StreamReader sr = null;
  string ans = null; 
  try

  {
    HttpWebRequest httpWRequest = (HttpWebRequest)WebRequest.Create(url); 
    httpWResponse = (HttpWebResponse)httpWRequest.GetResponse();    
    sr = new StreamReader(httpWResponse.GetResponseStream(), Encoding.GetEncoding("iso-8859-1")); 
    ans = sr.ReadToEnd();

   }

   catch


   {
     ans = null; 
   }

   finally

   {
     if (httpWResponse != null) httpWResponse.Close();     
     if (sr != null) sr.Close(); 
   }

   return ans; 
}



Langage : VB6 , VBA
Date ajout : 17/04/2006
Posté par WhiteDwarf [Liste]
DateMAJ : 26/02/2007
Dim contenuHTML As String
Private Sub Form_Load()
    WebBrowser1.Navigate2 "http://www.codes-sources.com"
End Sub
Private Sub WebBrowser1_DocumentComplete(ByVal  pDisp As  Object, URL As  Variant)
    contenuHTML = WB.Document.documentElement.innerHTML
End Sub

Remarque :
la variable contenuHTML contient alors la source html de la page
Langage : PHP 4 , PHP 5
Date ajout : 05/05/2006
Posté par Arglanir [Liste]
<?php //fonction qui renvoie une chaine représentant le fichier situé à l'url function get_document($url) {     $file = fopen ($url,"r");     if (!$file) {         return null;     }     $doc = "";     while (!feof ($file))        $doc .= fgets ($file, 1024);     fclose($file);     return $doc; } ?>
Remarque :
Ne marcherait pas en dessous de PHP 4.3, à vérifier
Langage : Java
Date ajout : 05/05/2006
Posté par Arglanir [Liste]

//les imports qui vont bien
import java.net.URL;
import java.io.IOException;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Test {



        // la fonction
    public static String getDoc(String url) throws IOException{
        URL u = new URL(url);
        InputStream in = u.openStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(in));
        String leDoc = "";String ligne;
        while (null != (ligne = br.readLine()))
            leDoc += ligne;
        return leDoc;
    }

}

Remarque :
à partir de Java 1.4.2
Langage : Windev
Date ajout : 21/06/2006
Posté par fabienlaps [Liste]
ResLancement    est un booleen    
sSource              est une chaine    // Chaine contenant le source de la page
sUrl                   est une chaine   // URL de la page dont on doit récupérer le source
ResLancement  = HTTPRequete(sUrl)
SI PAS ResLancement ALORS
    Erreur(ErreurInfo(errComplet))
SINON
    sSource = HTTPDonneResultat()
FIN
Langage : PHP 4 , PHP 5
Date ajout : 10/08/2007
Posté par coucou747 [Liste]
$a=file_get_contents('http://www.google.fr');
Remarque :
c'est sur, c'est vraiment simple... mais bon, l'autre code php poste sera plus long d'execution...
Langage : VB6 , VBA
Date ajout : 21/04/2009
Posté par Renfield [Liste]
DateMAJ : 21/04/2009
Public Const INTERNET_OPEN_TYPE_PRECONFIG As Long = 0
Public Const INTERNET_FLAG_RELOAD = &H80000000
 
Public Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Public Declare Function InternetCloseHandle Lib "wininet" (ByVal hInet As Long) As Integer
Public Declare Function InternetReadFile Lib "wininet" (ByVal hFile As Long, ByRef sBuffer As Any, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Public Declare Function InternetOpenUrl Lib "wininet" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
 
Public Function GetHTMLContent(ByRef vsURL As String) As String
Dim hOpen As Long
Dim hFile As Long
Dim sBuffer As String * &H2000&
Dim nLength As Long
    hOpen = InternetOpen("googlebot", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
    If hOpen Then
        hFile = InternetOpenUrl(hOpen, vsURL, vbNullString, ByVal 0&, INTERNET_FLAG_RELOAD, ByVal 0&)
        If hFile Then
            Do
                InternetReadFile hFile, ByVal sBuffer, &H2000&, nLength
                GetHTMLContent = GetHTMLContent & Left$(sBuffer, nLength)
            Loop While nLength
            InternetCloseHandle hFile
        End If
        InternetCloseHandle hOpen
    End If
End Function


Snippets en rapport avec : Site, Source, Mirc, Socket, Tcp



Codes sources en rapport avec : Site, Source, Mirc, Socket, Tcp

{Visual Basic, VB6, VB.NET, VB 2005} TRANSFERT DE FICHIERS ENTRE 2 PC DISTANTS
Bonjour, Cette source permet, pour commencer en quelques mots, d'échanger des fichiers à travers ...

{C# / C#.NET} MODULE RÉSEAU AVANCÉ : SOCKET TCP.
Voila 2 classes Server et Client avec des fonctionnalité avancés : - Serveur multiclient (multithre...

{C# / C#.NET} NETACCESS 2.0 RC2 : LIBRAIRIE POUR APPLICATION CLIENTS/SERVEUR
NetAccess est un librairie fournissant une méthode d'implémentation d'application client/serveur uti...

{C / C++ / C++.NET} LIBCONNECT - BIBLIOTHÈQUE C++ DE CONNEXION
Le but de cette bibliothèque est de proposer une interface très facile d'utilisation à la manipulati...

{C# / C#.NET} SAUVEGARDE DE FICHIERS CRYPTÉS SUR SERVEURS DISTANTS
Il y a 3 programmes: - Serveur - Client - Gestion des utilisateurs Ces logiciels utilise la cl...

{Visual Basic, VB6, VB.NET, VB 2005} ASYNC TCP SOCKET
Classe de pour faciliter l'utilisation des sockets tcp en mode asynchrone. Je dois maintenant tro...

{C / C++ / C++.NET} SQUELETTE DE COMMUNICATION PAR SOCKET EN MODE CONNECTÉ POUR LINUX
Un simple exemple de programme en trois fichiers. myinet.h est un include commun pour les deux pr...

{C / C++ / C++.NET} BIBLIOTHÈQUE PERMETTANT D'UTILISER LES SOCKETS DE MANIÈRE TRANSPARENTE QU'ELLES SOIENT WINDOWS / UNIX ET TCP / UDP
Ce code c++ sans class permet d'utiliser des sockets compatibles Windows et UNIX. Sans avoir à ce so...

{C / C++ / C++.NET} MK_SOCKET : UNE BIBLIOTHÈQUE COMPLÈTE ET TRÈS SIMPLE DE GESTION DE SOCKET TCP
Cette source présente une bibliothèque qui implémente une classe de gestion des sockets TCP. Je sai...

{C / C++ / C++.NET} MINI-CHAT NAVI
Le code source que je vous donne permet de créer un mini-chat pour communiquer entre deux ordinate...