Bonjour à tous,

j'essaie de me logger dans un site web afin d'y télécharger mes factures...si c'est possible, j'ai évidemment les accès appelé USER et PASS.

il faut je pense d'abord faire un POST pour entrer dans le compte et faire un GET pour y télécharger la facture.

la "form", formulaire en ligne se présente comme telle:

Code html : 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
                    <form name="loginForm" action="/openid/login.do" method="post" class="login-form"
                          onsubmit="return validate();">
                        <label for="j_username_input">Numéro mobile</label>
                        <div class="form-group">
                            <input class="form-control" type="text" inputmode="numeric" name="j_username" id="j_username_input"
                                   autofocus onkeyup="validateMobileNumber(this.name);"
                                   onblur="validateMobileNumber(this.name, true);"
                                   >
                        </div>
                        <div class="errors" id="j_username_error"></div>
                        <label for="j_password_input">Mot de passe</label>
                        <div class="form-group">
                            <input class="form-control password-input" type="password" name="j_password"
                                   id="j_password_input" placeholder="" onkeyup="showEyeIcon();">
                            <div class="hide-show" style="display: none;" id="passwordEye"
                                 onclick="togglePassword();"></div>
                        </div>
 
                        <div class="errors" id="j_password_error"></div>
                        <a href="/openid/requestpassword" id="requestPasswordLink" class="link link-login"
                           onmousedown="event.preventDefault();">Mot de passe oublié*?</a>   
 
 
 
                        <div class="form-group">
                            <button type="submit" class="Button Button--primary login" name="Login.Submit"
                                    id="login_button">Se connecter</button>
                        </div>
                        <input type="hidden" name="rememberme" id="rememberme" value="true"/>
                    </form>

après avoir cherché, voici mon code vb:

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
mainUrl = "https://login.prd.TEST.be/openid/login"
 
myuser = "USER"
mypass = "PASS"
fileUrl = "https://api.prd.TEST.be/ocapi/public/api/billing-service/v2/accounts/100992022/bills/224801077164"
 
strAuthenticate = "j_username" & myuser & "&j_password=" & mypass
Set WHTTP = CreateObject("Msxml2.XMLHttp.6.0")
 
With WHTTP
	.Open "POST", mainUrl, False
    .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .Send strAuthenticate
    MsgBox .responseText
    MsgBox .status
 End With
je ne pense pas que cela marche jusqu'ici, je ne sais pas comment vérifier si je suis bien logger.
Néanmoins, il renvoie un status de 200

je sais télécharger des documents PDF directement à partir du net par ce code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
If WHTTP.Status = 200 Then
    Set oStream = CreateObject("ADODB.Stream")
    oStream.Open
    oStream.Type = 1
    oStream.Write WHTTP.responseBody
    oStream.SaveToFile "C:\file.pdf", 2 ' 1 = no overwrite, 2 = overwrite
    oStream.Close
End If

merci d'avance,

Xzave