Удар 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
возможности бесконечны для генерации списков.
По моему опыту HttpClient немного проще и интуитивно понятнее, чем использование HttpUrlConnection, но я думаю, что это очень субъективное решение и YMMV.
Я бы выбрал версию JRE, чтобы иметь на одну зависимость меньше.
HttpUrlConnection прост в обращении. Реализации REST довольно просты.
Хотя вы должны обдумать эту реализацию в целом и проверить, что подойдет вам лучше.
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).
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
Я дам вам одну конкретную причину отдать предпочтение HTTPClient Apache над реализацией JDK: JDK HttpUrlConnection
не поддерживает тайм-ауты *, HTTPClient Apache поддерживает.
У приложений всегда должна быть возможность устанавливать тайм-ауты при вызове в другие системы (базы данных, удаленные службы, ваш собственный серверный бэкэнд, ...).
* Это было исправлено в Java 1.5; Java 1.5 и выше поддерживают таймауты в HttpUrlConnection.
... httpclient не поддерживает аутентификацию kerberos / ntlm для прокси и т. Д ... httpurlconnection java выполнит аутентификацию прямо из коробки ...