Этот пакет предоставляет полный клиентскую библиотеку HTTP. В настоящее время реализует большинство соответствующих частях HTTP / 1.0 и HTTP / 1.1 протоколов, в том числе методов запроса HEAD, GET, POST и PUT, и автоматическая обработка запросов авторизации, перенаправления, и печенье.
Кроме того, включены класса кодеки содержит кодеры и декодеры для base64, цитирует-печати, URL-кодирования, Chunked и кодировок многочастного / форм-данных. Все это бесплатно, и под лицензией GNU Lesser General Public License (LGPL) (обратите внимание, что это не то же самое, как GPL).
Ниже приведены комплекты и документация для HTTPClient Версия 0,3-3. Если у вас есть какие-либо проблемы, ошибки, предложения, комментарии и т.д. увидеть информацию о отладки и проблем отчетности. Старая версия этих страниц также доступны на японском языке, благодаря усилиям добрых Юдзи Kumasaka.
Использование HTTPClient должно быть довольно просто. Сначала добавьте импорт импорт заявление HTTPClient *. в файл (ы). Далее вы создаете экземпляр HttpConnection (вы должны будете один для каждого сервера, который вы хотите поговорить с). Запросы могут быть отправлены с использованием одного из методов главы (), получить (), сообщение (), и т.д. в HttpConnection.
Все эти методы возвращают экземпляр HttpResponse который имеет методы для доступа к заголовков ответа (getHeader (), getHeaderAsInt (), и т.д.), различные Информация ответ (getStatusCode (), getReasonLine () и т.д.), данные ответа (GetData () , GetText (), и getInputStream ()) и любые прицепы, которые, возможно, были отправленные (getTrailer (), getTrailerAsInt (), и т.д.). Ниже приведены некоторые примеры, чтобы начать работу.
Для извлечения файлов из URL "http://www.myaddr.net/my/file~~HEAD=pobj" вы можете использовать что-то вроде следующего:
пытаться
{
HttpConnection кон = новый HttpConnection ("www.myaddr.net");
HttpResponse RSP = con.Get ("/ моя / файла");
если (rsp.getStatusCode ()> = 300)
{
System.err.println ("Поступило Ошибка:" + rsp.getReasonLine ());
System.err.println (rsp.getText ());
}
другой
Данные = rsp.getData ();
RSP = con.Get ("/ another_file");
если (rsp.getStatusCode ()> = 300)
{
System.err.println ("Поступило Ошибка:" + rsp.getReasonLine ());
System.err.println (rsp.getText ());
}
другой
other_data = rsp.getData ();
}
поймать (IOException МОР)
{
System.err.println (ioe.toString ());
}
вылов (ParseException PE)
{
System.err.println ("Ошибка разбора Content-Type:" + pe.toString ());
}
вылов (ModuleException меня)
{
System.err.println ("Запрос Обработка ошибок:" + me.getMessage ());
}
Это позволит получить файлы "/ моя / файлов" и "/ another_file" и положить их содержимое в байт [] 'ы доступны через GetData (). Обратите внимание, что вам нужно только создать новый HttpConnection при отправке запроса на новый сервер (другой протокол, хост, порт); хотя вы можете создать новую HttpConnection для каждого запроса на тот же сервер, это не рекомендуется, так как различная информация о сервере кэшируются после первого запроса (для оптимизации последующих запросов) и стойкие соединения используются, когда это возможно (смотрите также Advanced Info).
Для POST данные формы из апплета на ваш сервер можно использовать что-то вроде этого (если у вас есть два поля, называемые имя и адрес электронной почты, содержимое которого хранятся в переменных имя и адрес электронной почты):
пытаться
{
NVPair form_data [] = новый NVPair [2];
form_data [0] = новый NVPair ("имя", имя);
form_data [1] = новый NVPair ("E-Mail", адрес электронной почты);
// Обратите внимание, конструктор удобство для апплетов
HttpConnection кон = новый HttpConnection (это);
HttpResponse RSP = con.Post ("/ CGI-BIN / my_script", form_data);
если (rsp.getStatusCode ()> = 300)
{
System.err.println ("Поступило Ошибка:" + rsp.getReasonLine ());
System.err.println (rsp.getText ());
}
другой
поток = rsp.getInputStream ();
}
поймать (IOException МОР)
{
System.err.println (ioe.toString ());
}
вылов (ModuleException меня)
{
System.err.println ("Запрос Обработка ошибок:" + me.getMessage ());
}
Вот данные ответа читается на досуге с помощью InputStream, а не все сразу в байт [].
В качестве другого примера, если вы хотите, чтобы загрузить документ в URL (если сервер поддерживает HTTP PUT) вы могли бы сделать что-то вроде следующего:
пытаться
{
URL URL = новый URL-адрес ("http://www.mydomain.us/test/my_file");
HttpConnection кон = новый HttpConnection (URL);
HttpResponse RSP = con.Put (url.getFile (), "Hello World");
если (rsp.getStatusCode ()> = 300)
{
System.err.println ("Поступило Ошибка:" + rsp.getReasonLine ());
System.err.println (rsp.getText ());
}
другой
Текст = rsp.getText ();
}
поймать (IOException МОР)
{
System.err.println (ioe.toString ());
}
вылов (ModuleException меня)
{
System.err.println ("Запрос Обработка ошибок:" + me.getMessage ());
}
Последние посещенные программы
Bootstrap FileStyle 10 Dec 15
Adium 11 Jun 17
Archibald 3 Jan 15
PureBasic 26 Jan 15
Mega Disc 28 Oct 15
Temproact 21 Sep 15
Resize 3 Jan 15
You Twit Face 4 Mac 8 Dec 14
Total Fax 24 Sep 15
E-Bible 5 Dec 15
Поиск по категориям
Популярные программы
CrossOver 16 Aug 18
DEFT 9 Mar 17
Xandros Desktop OS 3 Jun 15
Distro Astro 17 Feb 15
NdisWrapper 11 May 16
ed2k-gtk-gui 4 Jun 15
Apricity OS 12 Jan 17
HTTPClient
Другие программы разработчика -
Project Hamster
2 Jun 15
jQuery two way bindings
13 May 15
Amun
17 Feb 15
Ulteo Applications System
2 Jun 15
Комментарии к HTTPClient
Последние посещенные программы
Bootstrap FileStyle 10 Dec 15
Adium 11 Jun 17
Archibald 3 Jan 15
PureBasic 26 Jan 15
Mega Disc 28 Oct 15
Temproact 21 Sep 15
Resize 3 Jan 15
You Twit Face 4 Mac 8 Dec 14
Total Fax 24 Sep 15
E-Bible 5 Dec 15
Поиск по категориям
Популярные программы
KAVClient 3 Jun 15
NAS4Free 2 Oct 17
ZeroShell 20 Feb 15
Slax 20 Feb 15
Linpus Linux Lite 17 Feb 15
Parrot security OS 23 Oct 17
Super Grub2 Disk 20 Jan 18
Комментарии не найдены