Avant de poster cette question, je cherche beaucoup pour savoir comment demander.OpenDaylight Rest API avec Java
J'essaye de me connecter au contrôleur OpenDaylight avec Java, j'essaye de me connecter en consommant les services de repos donnés par le contrôleur. Mon problème est, quand j'envoie la requête http je ne peux pas aller plus loin que le login, je ne suis pas sûr si c'est possible. Au lieu d'obtenir la topologie ou une autre réponse du contrôleur, j'obtiens le html du formulaire de connexion.
Aussi, je ne suis pas sûr si je devrais me connecter comme ceci.
Toute aide/direction est très appréciée. :)
Mon code pour créer la connexion est:
public String getContent(String urls) throws IOException {
String cont="";
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(urls);
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("j_username", "username"));
nvps.add(new BasicNameValuePair("j_password", "password"));
httpPost.setEntity(new UrlEncodedFormEntity(nvps));
CloseableHttpResponse response2 = httpclient.execute(httpPost);
try {
System.out.println(response2.getStatusLine());
HttpEntity entity2 = response2.getEntity();
BufferedReader reader =new BufferedReader(new InputStreamReader(entity2.getContent()));
String line="";
while((line=reader.readLine())!=null){
cont+=line+"\n";
}
} finally {
response2.close();
}
return cont;
}
Quand je lance le code, voici ce qui est imprimé:
HTTP/1.1 200 OK
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>OpenDaylight - Login</title>
<script src="/js/bootstrap.min.js"></script>
<script type="text/javascript">
less = {
env: "production"
};
</script>
<script src="/js/less-1.3.3.min.js"></script>
</head>
<body>
<form action="j_security_check;jsessionid=LONGID" id="form" method="post">
<div class="container">
<div class="content">
<div class="login-form">
<div id="logo"></div>
<fieldset>
<div class="control-group">
<input type="text" name="j_username" placeholder="Username">
</div>
<div class="control-group">
<input type="password" name="j_password" placeholder="Password">
</div>
<button class="btn btn-primary" type="submit" value="Log In" >
<div class="icon-login"></div> Log In</button>
</fieldset>
</div>
</div>
</div>
</form>
</body>
</html>
Salut Santiago, url demandez-vous lorsque vous appelez cette fonction '' 'getContent (String urls) t'''? – tangrammer