Curl - это программа, которая позволяет (через командную строку) загружать запросы http и https без использования браузера. Это похоже на команду wget .
Между тем, Android-HttpClient не является командой или даже функцией . Это API на основе классов, который позволяет выполнять http-запросы.
Я бы порекомендовал вам пройти по странице справки Curl (на которую я ссылался) и посмотреть, можете ли вы увидеть, что делают различные параметры, передаваемые в Curl. Эта команда дважды обращается к одному и тому же URL "http://connect.garmin.com/signin"
. В первый раз он просто проверяет, доступен ли он. Если это так, будет запущена вторая команда curl
. Вот что означают различные параметры:
- - location : Если веб-страница переместилась на другой URL-адрес, она попытается снова запустить команду curl, используя новый URL-адрес.
- - cookie : cookie используется для отслеживания пользовательских запросов. Это позволяет серверу знать, что тот же человек посещает еще раз. Каждый URL-запрос обычно является отдельным и независимым, поэтому http использует так называемые сеансовые куки-файлы для отслеживания пользователя при посещении веб-сайта. Обычно параметр задается как
key=value
, и это файл cookie для использования.
- - cookie-jar : это файл, в котором сервер может хранить сеансовые куки в вашей локальной системе. Это позволяет серверу получать и извлекать информацию о сеансе.
- - output : Это место для вывода веб-страницы, полученной с сервера.
/dev/null
- это место, где вы можете выбросить вещи, которые вам не нужны. -
означает печать веб-страницы на экране.
По сути, первая команда curl
попадает на страницу входа в Garmin (http://connect.garmin.com/signin). Она отбрасывает данные. Это делается только для того, чтобы проверить, действительно ли веб-страница запущена.
Вторая команда curl
входит в систему. Строка --data
- это данные, отправляемые на веб-страницу. Он притворяется, что вы заполнили форму входа на странице входа, и отправляет Garmin ваше имя пользователя и пароль. Вывод с этой страницы поступает на терминал как вывод веб-страницы http (я уверен, что он анализируется для получения необходимой информации).
Вы говорите, что некоторое время были разработчиком Android, поэтому я предполагаю, что вы знаете о программировании Android и понимаете, как работает API Android. Я не являюсь разработчиком Android, но я просмотрел документацию по AndroidHttpClient API , и она не выглядит такой сложной. По сути, вам нужно создать объект, который может отправить запрос на http://connect.garmin.com/signin
, чтобы убедиться, что он запущен и работает, и если это так, вы отправляете еще один запрос на https://connect.garmin.com/signin
для входа. Отправляемые вами данные находятся в --data
параметр.