2017-05-23 15 views
0

je frappe l'URL resteImpossible de se connecter en même adresse lors de l'impact du service REST en utilisant java

https://db2adminpc1:9443/rest/bpm/wle/v1/search/query?organization=byInstance&run=true&shared=false&filterByCurrentUser=true 

en utilisant la classe HttpURLConnection et je reçois les données Sjon dans InputStream. Mais dans mes exigences lorsque je clique sur l'URL, il devrait stocker un peu de jeton ou un cookie pour authentifier l'URL lorsque je l'ouvre dans le navigateur Chrome. Vous pouvez trouver le code ci-dessous:

byte[] encodedBytes = Base64.getEncoder().encode(Data.getBytes()); 

    URL url = new URL(
      "https://db2adminpc1:9443/rest/bpm/wle/v1/search/query?organization=byInstance&run=true&shared=false&filterByCurrentUser=true"); 
    connection = (HttpURLConnection) url.openConnection(); 

    String encoding = new String(encodedBytes);// "cGNhZG1pbjpwY2FkbWlu"; 
    connection.setRequestMethod("POST"); 
    connection.setDoOutput(true); 
    connection.setRequestProperty("Authorization", "Basic " + encoding); 
    connection.getRequestProperty("Set-Cookie"); 

    System.out.println("Session iD " + connection.getHeaderField("Set-Cookie")); 
    System.out.println("Session iD " + connection.getHeaderField("Set-Cookie")); 

    if (connection.getResponseCode() == 200) { 
     InputStream content = (InputStream) connection.getInputStream(); 

     BufferedReader in = new BufferedReader(new InputStreamReader(content)); 

     while ((line = in.readLine()) != null) { 
      // System.out.println(line); 
      sb.append(line); 
     } 
     content.close(); 

    } else { 
     sb.append("\"Username And Password Does Not Match!!!\""); 
    } 

} 

Update I am able read LTPatoken2 but dont know how to put or store in localhost cookie and authenticate the URL

Répondre

0

En raison de HttpURLConnection pas maintenir le cookie, vous devez enregistrer l'en-tête Set-Cookie dans une instance String tout d'abord visiter l'url, puis, pour chaque prochaine demande, vous devez définir l'en-tête de la requête Cookie par l'intermédiaire de la méthode d'appel setRequestProperty. Bien sûr, vous pouvez utiliser HttpClient Library, il peut maintenir cookie automatiquement

+0

Je suis en mesure d'obtenir le cookie, Fondamentalement j'appelle le service de repos en utilisant localhost à th e WebSphere.And je souhaite stocker le cookie dans mon URL WebSphere. –