Java: скачать строку HTTP GET - PullRequest
       0

Java: скачать строку HTTP GET

0 голосов
/ 08 сентября 2018

Добрый день; Мне нужен код, который будет загружать небольшую строку сервера, У меня есть сервер, который получает параметр и возвращает значение через PHP

URL: http://127.0.0.1/page.php?var=a

URL может возвращаться со значением «ДА» или «НЕТ»

Я хочу закодировать переменную и вернуть значения

Ответы [ 3 ]

0 голосов
/ 08 сентября 2018

Использование org.apache.commons.http всегда было надежным, легковесным и удобным для меня. Добавив заголовок к request, вы сможете установить User-Agent, представляющий клиентскую ОС и информацию о браузере. Кроме того, если сервер чувствителен к типу содержимого, вы можете добавить еще один заголовок для Content-type, например, application/json. В случае использования любой библиотеки аутентификации, такой как jwt, токен также может быть расположен здесь.

public class Client {

private static HttpClient CLIENT = HttpClientBuilder.create().build();
private static final String URL = "http://127.0.0.1/page.php?var=a";

public static void main(String[] args) throws IOException {
    Client client = new Client();
    System.out.println(client.requestBuilder(URL));
}

private String requestBuilder(String url) throws IOException {
    HttpGet request = new HttpGet(url);
    // Add headers: OS, Browser, Content-Type
    request.addHeader("User-Agent", "Linux");
    request.addHeader("Content-Type", "application/json");
    HttpResponse response = CLIENT.execute(request);
    BufferedReader reader = new BufferedReader(new 
    InputStreamReader(response.getEntity().getContent()));
    StringBuilder result = new StringBuilder();
    String line;
    while (Objects.nonNull(line = reader.readLine()))
        result.append(line);
    return result.toString();
}

Надеюсь, это поможет. Пожалуйста, не стесняйтесь пинговать меня, если что-то осталось неясным.

0 голосов
/ 08 сентября 2018

Вы можете сделать это в одной хаккейной строке Java без дополнительных библиотек. Вот так:

String out = new Scanner(new URL(...).openStream(), "UTF-8").useDelimiter("\\A").next();
0 голосов
/ 08 сентября 2018

вы можете легко использовать OkHttp Не забудьте сначала импортировать

пример кода:

OkHttpClient client = new OkHttpClient();

String run(String url) throws IOException {
  Request request = new Request.Builder()
      .url(url)
      .build();

  Response response = client.newCall(request).execute();
  return response.body().string();
}

Дополнительная информация: http://square.github.io/okhttp/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...