diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..e69de29 diff --git a/src/main/java/org/pavlik/helpers/Main.java b/src/main/java/org/pavlik/helpers/Main.java index ad2601a..0282912 100644 --- a/src/main/java/org/pavlik/helpers/Main.java +++ b/src/main/java/org/pavlik/helpers/Main.java @@ -1,15 +1,30 @@ -package org.pavlik.helpers; +import org.apache.http.HttpResponse; +import org.pavlik.helpers.RestHelper; +//package org.pavlik.helpers; + +import java.util.HashMap; public class Main { public static void main(String[] args) { - RestHelper Rest = new RestHelper("client-keystore3.jks","JKS","123321","2","truststore.jks","JKS","123321"); - String cyrillicString = "какашка"; -// try { -// cyrillicString = URLEncoder.encode(cyrillicString, "UTF-8"); -// } catch (UnsupportedEncodingException e) { -// throw new RuntimeException(e); -// } - Rest.queryPostRaw("https://192.168.200.10/index.php?koko=1",cyrillicString); + RestHelper Rest = new RestHelper( + "client-keystore3.jks", + "JKS", + "123321", + "2", + "truststore.jks", + "JKS", + "123321"); + + + String queryUrl = "https://192.168.200.10/index.php?kokoko=1"; + String queryBody = "{\"k\":\"val\"}"; + HashMap queryHeaders = new HashMap<>(); + queryHeaders.put("CONTENT-TYPE","text/plain2; charset=UTF-8"); + + + HttpResponse resp = Rest.queryPostRaw(queryUrl,queryBody,queryHeaders); + String respBody = Rest.getRespBody(resp); + System.out.println(respBody); } } \ No newline at end of file diff --git a/src/main/java/org/pavlik/helpers/RestHelper.java b/src/main/java/org/pavlik/helpers/RestHelper.java index a20527a..6ea7398 100644 --- a/src/main/java/org/pavlik/helpers/RestHelper.java +++ b/src/main/java/org/pavlik/helpers/RestHelper.java @@ -11,6 +11,7 @@ import org.apache.http.util.EntityUtils; import javax.net.ssl.SSLContext; import java.io.*; import java.security.*; +import java.util.HashMap; public class RestHelper { @@ -92,29 +93,36 @@ public class RestHelper { } } + protected void map2headers(HttpPost query,HashMap HeaderMap) { + for (String key : HeaderMap.keySet()) { + query.setHeader(key,HeaderMap.get(key)); + } + } + public String getRespBody(HttpResponse resp){ + try { + return EntityUtils.toString(resp.getEntity(), this.codepage); + } catch (IOException e) { + throw new RuntimeException(e); + } + } - public void queryPostRaw(String queryUrl, String queryBody) { - HttpResponse response = null; - String responseBody = null; + /** + * Отправляет запрос "как есть" строкой + * @param queryUrl + * @param queryBody + */ + public HttpResponse queryPostRaw(String queryUrl, String queryBody, HashMap headerMap) { HttpPost query = new HttpPost(queryUrl); - query.setHeader("р1","yes"); //заголовок - query.setHeader("CONTENT-TYPE","text/plain; charset=UTF-8"); //заголовок + if (headerMap != null) this.map2headers(query, headerMap); + try { query.setEntity(new StringEntity(queryBody,this.codepage)); //тело - response = this.httpClient.execute(query); - responseBody = EntityUtils.toString(response.getEntity(), this.codepage); - + return this.httpClient.execute(query); } catch (Exception e) { throw new RuntimeException(e); } - - - System.out.println("----------------------------------------"); - System.out.println(response.getStatusLine()); - - System.out.println("Response body: " + responseBody); } } \ No newline at end of file