J'ai une page internet, php plus exactement
il faut se connecter etc. . .
Je me connecte : Normalement dans la source de la page il ny a point le mot "login" bien sûr c'est quand je regarde le code source manuellement
Mais j'utilise ceci pour prendre le code source de la page php en plus c'est dans le form)
http://www.developpez.net/forums/sho...d.php?t=439377
E enfaite ceci me télécharge bien le code source mais il n'arrive pas a prendre le code source qui contient "logout", c'est comme si je ne suis pas connecter. . .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 strURL = "monsite.com" strFile = "C:\emplacement\choisi\monsite.txt" Const adTypeBinary = 1 Const adSaveCreateOverWrite = 2 Const ForWriting = 2 Dim web, varByteArray, strData, strBuffer, lngCounter, ado Err.Clear Set web = Nothing Set web = CreateObject("WinHttp.WinHttpRequest.5.1") If web Is Nothing Then Set web = CreateObject("WinHttp.WinHttpRequest") If web Is Nothing Then Set web = CreateObject("MSXML2.ServerXMLHTTP") If web Is Nothing Then Set web = CreateObject("Microsoft.XMLHTTP") web.Open "GET", strURL, False web.Send If Err.Number <> 0 Then SaveWebBinary = False Set web = Nothing MsgBox "Une erreur est intervenue." TagIe = 1 End If If web.Status <> "200" Then SaveWebBinary = False Set web = Nothing MsgBox "Internet ne peut pas etre joint, démarrez une session IE." TagIe = 1 End If If TagIe = 0 Then varByteArray = web.ResponseBody Set web = Nothing 'Enregistrer le fichier On Error Resume Next Set ado = Nothing Set ado = CreateObject("ADODB.Stream") If ado Is Nothing Then Set fs = CreateObject("Scripting.FileSystemObject") Set ts = fs.OpenTextFile(strFile, ForWriting, True) strData = "" strBuffer = "" For lngCounter = 0 To UBound(varByteArray) ts.Write Chr(255 And AscB(MidB(varByteArray, lngCounter + 1, 1))) Next ts.Close Else ado.Type = adTypeBinary ado.Open ado.Write varByteArray ado.SaveToFile strFile, adSaveCreateOverWrite ado.Close End If SaveWebBinary = True End If TagIe = 0
Mais si j'ouvre IE, je suis bien connecter et le code source ne contient pas "login"...
Mais sinon normalement IE est ouvert par le code VB et on voit qu'il contient pas le mot login .. si jamais on pourrait directement prendre le code source depuis IE qui est ouvert. . .
j'ai ceci :
Sur ce : je vois bien que je suis connecter par IE qui visible
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Dim IE As Object Dim READYSTATE_COMPLETE As Integer READYSTATE_COMPLETE = 4 'Set IE = New InternetExplorer Set IE = CreateObject("InternetExplorer.Application") Sortie = DateAdd("S", 10, Now) 'ajoute de 10 Sc par apport à l'heure systeme '-------------------------------- IE.Navigate "http://bux.to/logout.php" '-------------------------------- Do While IE.ReadyState <> READYSTATE_COMPLETE DoEvents Loop IE.Visible = True If Now >= Sortie Then IE.Quit: Set IE = Nothing: DoEvents MsgBox "Problème :d", vbCritical, "Erreur externe" IE.Quit: Set IE = Nothing: DoEvents logout_2 End If 'IE.Quit: Set IE = Nothing: DoEvents
SI jamais on pourrait directement obtenir le code source de IE . . .
Ps: si le code source contient "login" => pas connexion
contient "logout" => connextion
ne contient pas "login" => connexion
ne contient pas "logout" => pas de connexion
Partager