2016-10-28 1 views
0

Ich versuche einfach URL zu treffen dh www.google.com und ich möchte ganze JSON Antwort erfassen als Ausgabe ... Ich versuchte mehrere Codes, die mir helfen, nur die Antwort zu finden Code, aber ich möchte volle JSON-Antwort, aus der ich einige Informationen filtern kann.Wie bekomme ich volle Antwort json mit httprequest

oben, was ich für Web tue ..

+0

ich nicht genau hätte bekommen, was Sie zu tun haben: Sie wollen http-Antwort in eine JSON-Zeichenfolge verwandeln, oder Sie wollen nur HTTP-Antworten erfassen Weichen im JSON-Format sind? – Svech87

+0

Ja .. .Wenn wir irgendeine URL treffen, reagiert es auf die JSON-Antwort, also möchte ich diese JSON-Antwort erhalten. ... –

+1

suche nach "wie man eine Anfrage mit Java sendet" – dit

Antwort

0

benutzte ich ApacheHttpClient jar (Version 4.5.1). Sie benötigen auch die HttpCore-Bibliothek (ich habe 4.4.3 verwendet) und vielleicht einige andere Apache-Bibliotheken (wie Codec).

Hier sind eine Methode GET und POST-Methode:

public static String getJsonStringHttpGet(String url,Map<String,String> headers) throws IOException { 

     BasicCookieStore cookieStore = new BasicCookieStore(); 

     CloseableHttpClient httpClient = HttpClients.custom() 
       .setDefaultCookieStore(cookieStore) 
     .build(); 

     HttpCoreContext localContext = new HttpCoreContext(); 


     HttpGet get = new HttpGet(url); 


     /* 
     * if you need to specify headers 
     */ 
     if (headers != null) { 
      for (String name : headers.keySet()) { 
       get.addHeader(name, headers.get(name)); 
      } 
     } 



     HttpResponse response = httpClient.execute(get, localContext); 



     byte [] bytes = EntityUtils.toByteArray(response.getEntity()); 


     return new String(bytes); 

    } 

public static String getJsonStringHttpPost(String url,Map<String,String> postParams,Map<String,String> headers) throws IOException { 

     BasicCookieStore cookieStore = new BasicCookieStore(); 

     CloseableHttpClient httpClient = HttpClients.custom() 
       .setDefaultCookieStore(cookieStore) 
     .build(); 

     HttpCoreContext localContext = new HttpCoreContext(); 


     HttpPost post = new HttpPost(url); 

     /* 
     * adding some POST params 
     */ 
     if (postParams != null && postParams.size() > 0) { 

      List<BasicNameValuePair> postParameters = new ArrayList<>(); 

      for (String name : postParams.keySet()) { 
       postParameters.add(new BasicNameValuePair(name, postParams.get(name))); 
      } 

      post.setEntity(new UrlEncodedFormEntity(postParameters)); 
     } 

     /* 
     * if you need to specify headers 
     */ 
     if (headers != null) { 
      for (String name : headers.keySet()) { 
       post.addHeader(name, headers.get(name)); 
      } 
     } 



     HttpResponse response = httpClient.execute(post, localContext); 



     byte [] bytes = EntityUtils.toByteArray(response.getEntity()); 


     return new String(bytes); 

    } 

Dann können Sie die JSON-String analysieren, wie Sie möchten.

hoffe, das hilft

Verwandte Themen