Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c70d4d9

Browse files
Update HttpClientExample.java
1 parent af9785b commit c70d4d9

File tree

1 file changed

+16
-30
lines changed

1 file changed

+16
-30
lines changed
Lines changed: 16 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package HTTP_Client;
2+
23
/*
3-
После Java 11, наиболее предпочтительным классом
4-
для взаимодействия приложений с HTTP серверами
5-
является класс HttpClient, а не более ранний класс
6-
URL. HttpClient потокобезопасен и может работать
7-
в асинхронном режиме.
4+
После Java 11, наиболее предпочтительным классом для взаимодействия приложений с HTTP серверами является класс
5+
HttpClient, а не более ранний класс URL. HttpClient потокобезопасен и может работать в асинхронном режиме.
86
*/
7+
98
import java.io.IOException;
109
import java.net.URI;
1110
import java.net.http.HttpClient;
@@ -16,50 +15,37 @@
1615
public class HttpClientExample {
1716

1817
public static void main(String[] args) throws IOException, InterruptedException {
18+
1919
/*
20-
Создаем HTTP клиент через билдер и задаем версию
21-
протокола 1.1. Теперь, используя этот клиент, мы
22-
можем отправлять запросы к HTTP серверу.
20+
Создаем HTTP клиент через билдер и задаем версию протокола 1.1. Теперь, используя этот клиент, мы можем отправлять запросы к HTTP серверу.
2321
24-
При этом данный объект уже на стадии создания имеет
25-
массу возможностей или методов для обращения к HTTP
26-
серверу в различных режимах (аутентификация,
27-
соединение по таймауту, выбор приоритета и т.д.).
22+
При этом данный объект уже на стадии создания имеет массу возможностей или методов для обращения к HTTP серверу в различных режимах
23+
(аутентификация, соединение по таймауту, выбор приоритета и т.д.).
2824
*/
25+
2926
HttpClient myFirstHttpClient = HttpClient
3027
.newBuilder()
3128
.version(HttpClient.Version.HTTP_1_1)
3229
.build();
33-
/*
34-
Создаем запрос к HTTP серверу, объект HttpRequest,
35-
в котором мы можем определить метод отправки запроса:
36-
GET, POST, DELETE и т.д.
37-
*/
30+
31+
/* Создаем запрос к HTTP серверу, объект HttpRequest, в котором мы можем определить метод отправки запроса: GET, POST, DELETE и т.д. */
32+
3833
HttpRequest myRequest = HttpRequest
3934
.newBuilder(URI.create("https://ya.ru"))
4035
.GET() // Выбрали метод запроса
4136
.build();
42-
/*
43-
Метод *.send() позволяет отправить запрос к HTTP
44-
серверу, при этом есть возможность отправить запрос
45-
в синхронном и асинхронном режиме (получив
46-
CompletableFuture ответ).
47-
*/
48-
HttpResponse<String> responseToMeFromServer =
49-
myFirstHttpClient.send(myRequest, HttpResponse.BodyHandlers.ofString());
37+
38+
/* Метод *.send() позволяет отправить запрос к HTTP серверу, при этом есть возможность отправить запрос в синхронном и асинхронном режиме (получив CompletableFuture ответ). */
39+
HttpResponse<String> responseToMeFromServer = myFirstHttpClient.send(myRequest, HttpResponse.BodyHandlers.ofString());
40+
5041
/* Получаем "заголовки" - хедеры отправленные HTTP сервером в ответ на наш запрос */
5142
Map responseHeaders = responseToMeFromServer.headers().map();
52-
5343
responseHeaders.forEach((key, value) -> {
5444
System.out.println(key + " : " + value);
5545
});
56-
5746
System.out.println("\n**************************************************************************\n");
5847
/* Получаем HTML страницу, сформированную сервером, в ответ на наш запрос */
5948
String responseBody = responseToMeFromServer.body();
6049
System.out.println(responseBody);
6150
}
62-
6351
}
64-
65-

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /