Использование 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();
}
Надеюсь, это поможет. Пожалуйста, не стесняйтесь пинговать меня, если что-то осталось неясным.