Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gost_group.nsi.util.http;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.net.HttpURLConnection;
- import java.net.URL;
- /**
- * @author *******@gmail.com
- * <p>
- * Nov 17, 2016, 4:40:51 AM
- */
- public class HttpUtils {
- public static String postAndWait(String data, String urlStr) throws Throwable
- {
- // TODO: перделать rv на StringBuffer для скорости
- String rv = "";
- URL url = new URL(urlStr.trim());
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("POST");
- conn.setRequestProperty("User-Agent", HttpUtils.class.getName());
- conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
- conn.setDoOutput(true);
- conn.setDoInput(true);
- OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
- writer.write(data);
- writer.flush();
- String line;
- BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- while ((line = reader.readLine()) != null) {
- rv += line;
- }
- writer.close();
- reader.close();
- rv = "{\"status\": \"" + conn.getResponseCode() + "\", \"message\": \"" + conn.getResponseMessage() + "\", \"data\" : " + rv + "}";
- return rv;
- }
- /** Делает запрос и возвращает тело ответа либо Exception если код не равен 200
- *
- * @param data
- * @param urlStr
- * @return
- * @throws Throwable
- */
- public static String postAndGetResBody(String data, String urlStr) throws Throwable
- {
- return submitAndGetResBody("POST", data, urlStr);
- }
- /** */
- public static String submitAndGetResBody(String method, String data, String urlStr) throws Throwable
- {
- // TODO: перделать rv на StringBuilder для скорости
- String rv = "";
- URL url = new URL(urlStr.trim());
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod(method);
- conn.setRequestProperty("User-Agent", HttpUtils.class.getName());
- conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
- conn.setDoOutput(true);
- conn.setDoInput(true);
- if (data != null)
- {
- OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
- writer.write(data);
- writer.flush();
- writer.close();
- }
- String line;
- BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- while ((line = reader.readLine()) != null) {
- rv += line;
- }
- reader.close();
- if (conn.getResponseCode() != 200)
- throw new Exception("URL request failed with " + conn.getResponseCode() + " code.");
- return rv;
- }
- public static String get(String urlStr) throws Throwable {
- URL url = new URL(urlStr.trim());
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setRequestMethod("GET");
- conn.setRequestProperty("User-Agent", HttpUtils.class.getName());
- conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
- conn.setDoOutput(true);
- conn.setDoInput(true);
- int code = conn.getResponseCode();
- if (code == 200) {
- String line;
- BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- StringBuilder sb = new StringBuilder();
- while ((line = reader.readLine()) != null) {
- sb.append(line);
- }
- reader.close();
- return sb.toString();
- } else {
- throw new RuntimeException("response code = " + code);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement