begin process at 2012 05 27 02:01:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > XHTML

XHTML


 Information sur la source

Note :
Aucune note
Catégorie :API Niveau :Expert Date de création :04/11/2002 Date de mise à jour :04/11/2002 16:13:58 Vu :2 448

Auteur : ldm001

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

 Description

Qui n'a jamais révé de récupérer le contenu d'une page HTML sans l'afficher afin d'en récupérer des données. On peut imaginer d'utiliser ce procédé pour extraire des cadres par exemple ou d'exécuter une page qui renvoit un résultat non affichable.
Cela est possible à l'aide de XHTML.
Il faut référencer la DLL msxml4.dll en utilisant le choix références dans le menu Projet.
voici la fonction à inclure dans votre code :

j'y ai inclus un petit test pour ne récupérer l'information qu'après le premier '<'.

Bon codage.

ldm001.

Source

  • Public Function GetHTMLPage(url As Variant) As String
  • On Error GoTo GetHTMLPageError
  • Dim xmlH As XMLHTTP40
  • Dim pos As Integer
  • Set xmlH = New XMLHTTP40
  • xmlH.open "POST", url, False
  • xmlH.send
  • pos = InStr(1, xmlH.responseText, "<")
  • If pos = 0 Then
  • pos = 1
  • End If
  • GetHTMLPage = Right$(xmlH.responseText, Len(xmlH.responseText) - pos + 1)
  • 'MsgBox GetHTMLPage
  • Exit Function
  • GetHTMLPageError:
  • GetHTMLPage = "ERROR"
  • End Function
Public Function GetHTMLPage(url As Variant) As String
    On Error GoTo GetHTMLPageError
    Dim xmlH As XMLHTTP40
    Dim pos As Integer
    Set xmlH = New XMLHTTP40
    
    xmlH.open "POST", url, False
    
    xmlH.send
    
    
    pos = InStr(1, xmlH.responseText, "<")
    If pos = 0 Then
        pos = 1
    End If
    GetHTMLPage = Right$(xmlH.responseText, Len(xmlH.responseText) - pos + 1)
    'MsgBox GetHTMLPage
    
    Exit Function
GetHTMLPageError:
    GetHTMLPage = "ERROR"
End Function

 Conclusion

roadnotes.ifrance.com


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) .NET DEPENDENCY VIEWER : ARBRE DES DÉPENDANCES D'UN ASSEMBLY... par ShareVB
Source avec Zip Source .NET (Dotnet) UTILITAIRE SKYDRIVE par MasterShadows
Source avec Zip ROTATION RAPIDE D'IMAGE par trex70
Source avec Zip Source avec une capture ENUMERATION DES PORTS TCP ET IDENTIFCATION DU PROCESS (PID) ... par Renfield
Source avec Zip Source avec une capture MOUSE SPEED AND WEIGHT : RETOUR DE FORCE VIRTUEL ! par ScSami

Commentaires et avis

Commentaire de celiphane le 04/11/2002 17:22:34

Qu'est-ce que c'est que ça ? "qui n'a jamais révé... blabla" ?
Référencer une DLL ? XHTML ? pour obtenir une source ?
oula, d'où tu nous sors tout ça toi ?

Tiens, met donc ça dans un module :


Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hOpen As Long, ByVal sUrl As String, ByVal sHeaders As String, ByVal lLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

Public Function ReponseWeb(ByVal URL As String) As String
On Error Resume Next
Dim hOpen As Long
Dim hOpenUrl As Long
Dim bDoLoop As Boolean
Dim bRet As Boolean
Dim sReadBuffer As String * 2048
Dim lNumberOfBytesRead As Long
Dim sBuffer As String
  hOpen = InternetOpen("VB OpenUrl", 0, vbNullString, vbNullString, 0)
  hOpenUrl = InternetOpenUrl(hOpen, URL, vbNullString, 0, &H80000000, 0)
  bDoLoop = True
  While bDoLoop
    sReadBuffer = vbNullString
    bRet = InternetReadFile(hOpenUrl, sReadBuffer, Len(sReadBuffer), lNumberOfBytesRead)
    sBuffer = sBuffer & Left(sReadBuffer, lNumberOfBytesRead)
    If Not CBool(lNumberOfBytesRead) Then bDoLoop = False
  Wend
  If hOpenUrl &lt;&gt; 0 Then InternetCloseHandle (hOpenUrl)
  If hOpen &lt;&gt; 0 Then InternetCloseHandle (hOpen)
  ReponseWeb = sBuffer
End Function



Faut TOUJOURS ALLER AU MOINS ENCOMBRANT !!!
Bonne prog' qd mm... @+

Commentaire de Setaou le 05/11/2002 09:21:42

excuse moi mais là je crois que c'est ton code qui est un chti peu plus encombrant ;) il utilise 4 fonctions externes au lieu d'une seule dans celui de ldm001...

Commentaire de celiphane le 05/11/2002 10:55:18

lol
tu commences toi je me trompe ?
non, sérieusement, tu n'as pas bien compris :
en ajoutant une dll, tu fais mal a ton prgm. c tres contraignant de devoir distribuer des composants, surtout pour l'utilisateur, personnellement je déteste les prgm qui vont m'installer des DLL a la c... .
Sache qu'1 DLL contient du code qui exploite ce que ton SYSTEME CONNAIT DEJA, de sorte que tu n'es pas à le programmer toi mm.
Et souvent, comme ici par ex, la dll ne se limite pas aux seules fonctions que tu utilises ! Ce que je t'ai donné, c'est LE BOUT que tu exploites. POINT. le reste est INUTILE et encombre...
"mon prgm fait moins de lignes!" -&gt; tu rigolais j'espère !
tu crois qu'un prgm performant est un pgrm court ? quand je dis moins encombrant, je parle de ta DLL. A ton niveau, tu me parles de "moins" de lignes, pour comprendre, regarde le poids de ta dll et imagine le nombre de ligne qu'elle contient, pour en plus "pollué" le système du receveur de l'appli.

Voilà, je pense que tu as compris ce que j'ai voulu t'expliquer précédemment, dsl de pas avoir été assez clair...
(En tout cas, ceci aura permis de faire comprendre des notions importantes a de nbx débutants !)
Je te souhaite une bonne programmation ! @Bi1to !

Commentaire de JeCommence le 05/11/2002 11:14:58

merci celiphane!

Commentaire de yoman64 le 07/11/2002 18:10:39

C'est koi ce bordel??? des commentaires ,c'est pas des sources completes!

Commentaire de mchurlet le 08/04/2006 14:21:46

Ton code, Celiphane est impécable ! De plus, contrairement au premier il a le bon codage des accents.
C'est exactement ce que je cherchais : rapide et efficace.
Peux-tu me dire s'il est possible d'y définir un proxi facilement ?
Cordialement
Maurice

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



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

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