HTTP Communication Обзор
У HTTP Communication есть два способа публиковать и получить. Первый отправляет данные на сервер через объект HTTP Message, который является очень безопасным и не имеет ограничений на размер передачи данных. Текст Тем не менее, запрос GET не является неподготовленным -запрос GET в основном используется для запроса (чтения ресурсов), что является эффективным. Запросы публикации используются для операций высокой безопасности, таких как регистрация и вход в систему и написание данных в базу данных.
В дополнение к сообщению и получению, есть и другие способы общения с HTTP! Пожалуйста, обратитесь к методу HTTP -запроса
Подготовка перед кодированием
Прежде чем выполнить кодирование, мы сначала создаем сервлет, который получает параметры клиента (имя и возраст) и отвечает на клиента.
@Webservlet (urlpathterns = {"/demo.do"}) открытый демосервант класса расширяет httpservlet {prive static final longverVeriOd = 1L; "); Response.setContentType (" Text/html; charset = utf-8 "); Служба Get. Производствует ServicetException, ioException f-8 "); response.setContentType (" text/html; charset = utf-8 "); string name = requer. GetParameter (" name "); строка age = request.getParameter (" Age ") ; ;}}
Используйте JDK для реализации HTTP Communication
Используйте UrlConnection для реализации запросов GET
Осмотреть объект java.net.url;
Получить java.net.urlconnection через метод OpenConnection () объекта URL;
Получить входной поток через метод getInputStream () объекта UrlConnection;
Прочитайте входной поток;
Закрыть ресурсы.
Public void get () бросает исключение {url url = new URL ("http://127.0.0.1/http/demo.name=jack&age=10"); New BufferedReader (New InputStreamReader (urlConnection.getInputStream (), "UTF-8")); ) {sb.append (line + "/n");} system.out.println (sb.tostring ());}
Используйте httpurlconnection для реализации запроса post
Java.net.httpurlConnection - это подкласс Java.net.url, обеспечивающий больше операций на HTTP (методы GetXXX и SetXXX). Этот класс определяет серию кодов статуса HTTP:
Public void () бросает ioException {url url = new URL ("http: //127.0.0.0.1/http/demo.do"); SetDoOutput (true); (httpurlconnection.getOutputStream ()); Flush (); ) {// Читать данные sb.append (line + "/n");} system.out.println (sb.tostring ());}
Используйте HttpClient для HTTP Communication
Httpclient значительно упрощает реализацию HTTP Communication в JDK.
Зависимость Maven:
<Depective> <groupId> org.apache.httpcomponents </GroupId> <artifactid> httpclient </artifactid> <sersive> 4.3.6 </version> </deperency>
Получить запрос
Public void httpclientget () throws exection {// Создать объект httpclient httpclient client = httpclients.createdefault (); 40 "); // вызовать метод выполнения объекта httpClient, чтобы получить ответ httpresponse response = client.execute (get); // вызовать httpresponse Метод getEntity объекта SE получает объект ответа httpentity httpentity = response.getentity ( );
Опубликовать запрос
public void httppclientpost () throws exection {// Создание объекта httpclient httpclient client = httpclients.createdefault (); ; San ")); parameters.add (new basicnamevaluepair (" age "," 25 ")); // Добавить объект объекта post.setentity (new urlencodedformentity (параметры," utf- 8 ")); // получить ответ и преобразовать его в строку httpresponse response = client.execute (post); ;}
HttpClient-это субпроект при Apache Jakarta Common для обеспечения эффективных, новейших, богатых функциями инструментов для клиента, которые поддерживают протокол HTTP, и поддерживает последние версии и предложения протокола HTTP. HttpClient был применен ко многим проектам, таким как хорошо известные два других проекта с открытым исходным кодом на Apache Jakarta cactus и Htmlunit, оба используют httpclient.