Использовать HTTPClient или HttpUrlConnection? [закрытый]

Удар for состоит на переменной (итератор) и список слов, где итератор, ну, в общем, выполнит итерации.

Так, если у Вас есть ограниченный список слов, просто помещают их в следующий синтаксис:

for w in word1 word2 word3
do
  doSomething($w)
done

, Вероятно, Вы хотите выполнить итерации вдоль некоторых чисел, таким образом, можно использовать эти seq команда для генерации списка чисел для Вас: (от 1 до 100, например)

seq 1 100

и использование это в ДЛЯ цикла:

for n in $(seq 1 100)
do
  doSomething($n)
done

Примечание $(...) синтаксис. Это - поведение удара, это позволяет Вам передавать вывод от одной команды (в нашем случае от seq) другому (for)

, Это действительно полезно, когда необходимо выполнить итерации по всем каталогам в некотором пути, например:

for d in $(find $somepath -type d)
do
  doSomething($d)
done

возможности бесконечны для генерации списков.

9
задан Marcus Leon 20 November 2009 в 21:19
поделиться

7 ответов

По моему опыту HttpClient немного проще и интуитивно понятнее, чем использование HttpUrlConnection, но я думаю, что это очень субъективное решение и YMMV.

1
ответ дан 4 December 2019 в 15:21
поделиться

Я бы выбрал версию JRE, чтобы иметь на одну зависимость меньше.

1
ответ дан 4 December 2019 в 15:21
поделиться

HttpUrlConnection прост в обращении. Реализации REST довольно просты.

Хотя вы должны обдумать эту реализацию в целом и проверить, что подойдет вам лучше.

0
ответ дан 4 December 2019 в 15:21
поделиться

I would recommend Jakarta Commons HTTP Client over java.net.HttpUrlConnection as it is more mature and has a richer feature set. For example you can ask it to set up multi-threaded connection pool (see MultiThreadedHttpConnectionManager), and it has full support for all the HTTP methods (GET, PUT, POST, DELETE, OPTIONS, TRACE).

4
ответ дан 4 December 2019 в 15:21
поделиться

The Restlet Framework also has an API which works both server-side and client-side. We support pluggable client connectors, leveraging HttpURLConnection or Apache HTTP Client or our own internal HTTP client.

Our ClientResource class provides a higher level HTTP client API, with features like automatic redirection, transparent conversion between objects and representations, content negotiation and more.

Best regards,

Jerome Louvel

Restlet ~ Founder and Lead developer ~ http://www.restlet.org

Noelios Technologies ~ Co-founder ~ http://www.noelios.com

2
ответ дан 4 December 2019 в 15:21
поделиться

Я дам вам одну конкретную причину отдать предпочтение HTTPClient Apache над реализацией JDK: JDK HttpUrlConnection не поддерживает тайм-ауты *, HTTPClient Apache поддерживает.

У приложений всегда должна быть возможность устанавливать тайм-ауты при вызове в другие системы (базы данных, удаленные службы, ваш собственный серверный бэкэнд, ...).

* Это было исправлено в Java 1.5; Java 1.5 и выше поддерживают таймауты в HttpUrlConnection.

4
ответ дан 4 December 2019 в 15:21
поделиться

... httpclient не поддерживает аутентификацию kerberos / ntlm для прокси и т. Д ... httpurlconnection java выполнит аутентификацию прямо из коробки ...

1
ответ дан 4 December 2019 в 15:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: