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
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
Ja .. .Wenn wir irgendeine URL treffen, reagiert es auf die JSON-Antwort, also möchte ich diese JSON-Antwort erhalten. ... –
suche nach "wie man eine Anfrage mit Java sendet" – dit