Bonjour,

Je cherche à automatiser l'authentification sur un proxy HTTP avec portail d'authentification mis en place par ma boîte. Aucune volonté de faire des choses non autorisées, je souhaite juste soumettre automatiquement les bonnes infos (mon compte et mon mot de passe) en ligne de commande, sans passer par un navigateur.

Je pense utiliser curl ou wget pour cela, avec les bons arguments pour soumettre en mode POST. A défaut un peu de Perl.
Je n'arrive pas à m'y retrouver dans le code HTML / Javascript renvoyé par le portail d'authentification. Plus précisément :
- quelle URL est appelée à la soumission des infos ?
- quels paramètres sont passés ?
J'ai bien compris que ça serait du POST et que les paramètres essentiels seront user=<compte>&password=<mot de passe> mais pour le reste je patauge.

Voici le code de la page vers lequel renvoie le proxy quand on ouvre une URL depuis un navigateur non authentifié. Il renvoie vers https://x.x.x.x/php/uid.php?vsys=1&rule=7&token=<un token>&url=<l'URL initialement ouverte>

Une bonne âme qui s;'y connaît plus que moi en HTML et surtout en Javascript (c'est ça qui me manque le plus ... je connais les forms HTML "classiques") pourrait-elle m'aider siouplaît ?

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
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<!DOCTYPE html>
 
<html lang="en">
  <head>
    <base href="/login/" />
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=.85">
    <title>Portail Authentification</title>
    <!--[if IE]>
    <script type="text/javascript">
        (function() {
            var baseTag = document.getElementsByTagName('base')[0];
            if (!(/^http/i).test(baseTag.href)) {
                baseTag.href = location.protocol + '//' +  location.host +  baseTag.href;
            }
            baseTag.href = baseTag.href;
        })();
    </script>
    <![endif]-->
    <link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico">
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/latofonts.css">
 
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <link rel="stylesheet" href="css/ie10-viewport-bug-workaround.css">
    <link rel="stylesheet" href="css/login.css">
 
    <!--[if lt IE 9]>
      <script src="js/html5shiv.min.js"></script>
      <script src="js/respond.min.js"></script>
    <![endif]-->
 
  </head>
 
  <body>
    <header>
      <nav class="navbar navbar-default">
        <div class="container-fluid auth_portal_nav">
          <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
              <span class="sr-only">Toggle navigation</span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
              <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="javascript:void(0);"><img src="data:image/png;base64,iVBORw0<...abrégé>rkJggg==" alt="captive-logo-blanc" > <span>Portail Authentification</span></a>
          </div>
        </div>
      </nav>
    </header>
    <div class="auth_portal container">
      <div class="row">
        <h1 id="page_title">Connexion requise</h1>
      </div>
      <div class="row">
        <div class="user_id instructions col-md-7">
          <p>La ressource à laquelle vous tentez d'accéder nécessite une identification d'utilisateur appropriée.</p>
          <p>Veuillez entrer vos informations d'identification..</p>
          <p id="authEnforcedMsg"></p>
          <!-- Note: uncomment this line below to add info link
          <p><a href="javascript:void(0);">Why am I seeing this?</a></p>
          -->
        </div>
        <div class="login_fields col-md-5">
          <div id="formdiv">
<form name="login_form" id="login_form" method="post">
<input type="hidden" name="inputStr" value="">
<input type="hidden" name="escapeUser" value="">
<input type="hidden" name="preauthid" value="">
<div id="taLogin">
<table>
 <tr id="dUserName">
 <td id="userTitle">User</td>
 <td>
   <input type="text" id="user" name="user" size="19" placeholder="Username">
 </td>
 </tr>
 <tr>
   <td id="passwdTitle">Password</td>
 <td>
   <div id="dInputStr" style="display: none;">
   <br>
   </div>
  <input type="password" maxlength="255" size="19" id="passwd" name="passwd" placeholder="Password">
 </td>
 </tr>
 <tr>
  <td id="buttonOffset"></td>
  <td>
   <input class="buttonFixed" type="submit" id="submit" name="ok" value="Login">
  </td>
  </tr>
</table>
</div>
<div id="dError" class="msg" style="display:none"></div>
</form>
<!--[if IE]>
    <script type="text/javascript">
        (function() {
            var baseTag = document.getElementsByTagName('base')[0];
            if (!(/^http/i).test(baseTag.href)) { // in case browser already translate to absolute path
                baseTag.href = location.protocol + '//' +  location.host +  baseTag.href;
            }
            baseTag.href = baseTag.href; // IE9 not correctly loading resources issue.
        })();
    </script>
<![endif]-->
<!--[if lt IE 9]>
      <script src="js/html5shiv.js"></script>
      <script src="js/respond.min.js"></script>
<![endif]-->
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
 var username = "";
 var errMsg = "";
 var respStatus = "";
 var respMsg = "";
 var authEnforcedMsg = " ";
 var privatebrowsing = "";
 function submitClicked() {
  $('#dError').html('');
  $('#dError').hide();
  $('#formdiv').css('visibility', 'hidden');
  var thisForm = document.getElementById('login_form');
  thisForm.inputStr.value = "";
  thisForm.preauthid.value = "633aed2007b5b5e0";
  thisForm.escapeUser.value = thisForm.user.value.replace(/\\/g, "\\\\");
 }
 function onClickHandler() {
  submitClicked();
 }
 $(document).ready(function() {
   $('#user').val(username);
   if ($('#user').val() == '') {
     $('#user').focus();
   }
   $('#dError').hide();
   if (respStatus == 'Error') {
      if (respMsg != '') {
       errMsg += '<br>';
       errMsg += '<li>' + respMsg + '</li>';
      }
   } else if (respStatus == 'Challenge') {
      $('#dUserName, #passwdTitle, #buttonOffset').hide();
      $('#dInputStr').show();
      $('#dInputStr').html(respMsg);
   }
   if (errMsg != '') {
      $('#dError').show();
      $('#dError').html(errMsg);
   }
    if (privatebrowsing != '') {
      $('#dError').show();
      $('#dError').html(errMsg+ '<br>' + privatebrowsing);
   }
   if (authEnforcedMsg != '') {
      $('#authEnforcedMsg').html(authEnforcedMsg);
   }
   $('#submit').attr('disabled', true);
   $('#user').focus();
   $('#login_form').bind('keyup click', function() {
   if (!$('#user').val() || !$('#passwd').val()) {
       $('#submit').attr('disabled', true);
   } else {
       $('#submit').attr('disabled', false);
       $('#dError').hide();
   }
   });
   $('#login_form').submit(function() {
           submitClicked();
   });
   });
   $(window).bind("pageshow", function(event) {
    if (event.originalEvent.persisted) {
        window.location.reload();
        }
   });
   if(typeof(Storage) != "undefined") {
       var orig_url = "aHR0cDovL3d3dy5zdW4uY29tLw==";
       try {
        sessionStorage.setItem ("isoffline", 0);
        if(orig_url != "")
           sessionStorage.setItem("origurl", orig_url);
       } catch(e) {
            privatebrowsing = "This page is not compatible in private browsing.                Please turn off private browsing and reload this page";
       }
    }
</script>
 
 
<!--[if IE]>
    <script type="text/javascript">
        (function() {
            var baseTag = document.getElementsByTagName('base')[0];
            if (!(/^http/i).test(baseTag.href)) { // in case browser already translate to absolute path
                baseTag.href = location.protocol + '//' +  location.host +  baseTag.href;
            }
            baseTag.href = baseTag.href; // IE9 not correctly loading resources issue.
        })();
    </script>
<![endif]-->
<!--[if lt IE 9]>
      <script src="js/html5shiv.js"></script>
      <script src="js/respond.min.js"></script>
<![endif]-->
 
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
 
          </div>
        </div>
      </div>
    </div>
  </body>
</html>

Merci d'avance !