Я нашел следующее bash script, которое я хотел бы использовать в приложении для Android. Несмотря на то, что я занимаюсь разработкой приложений, у меня мало опыта работы с w51 > /http и не знаю с чего начать.
например. Функция входа в систему выглядит следующим образом:
curl \
--location \
--cookie "$COOKIES" \
--cookie-jar "$COOKIES" \
--output /dev/null \
"http://connect.garmin.com/signin" && \
curl \
--location \
--cookie "$COOKIES" \
--cookie-jar "$COOKIES" \
--data "login=login&login%3AloginUsernameField=$USER&login%3Apassword=$PASSWORD&login%3AsignInButton=Sign+In&javax.faces.ViewState=j_id1" \
--output - \
"https://connect.garmin.com/signin" |\
Как скручивание соответствует командам Android HttpClient и т.д.
Код отсюда: http://braiden.org/?p=62#more-62
Curl - это программа, которая позволяет вам (через командную строку) загружать HTTP и HTTPS-запросы без прохождения через браузер. Он похож на команду wget.
Между тем, Android HttpClient не является командой или даже функцией. Это API на основе классов, который позволяет вам выполнять HTTP-запросы.
Я бы порекомендовал вам перейти на страницу справочной страницы Curl (с которой я связан) и посмотреть, можете ли вы увидеть, что параметры, переданные Curl do. Эта команда дважды нажимает один и тот же URL "http://connect.garmin.com/signin"
. В первый раз он просто проверяет, доступен ли он. Если это так, он выполнит вторую команду curl
. Вот что означают различные параметры:
key=value
, а cookie для использования./dev/null
- это место, где вы можете подбрасывать вещи, которые вы не хотите. -
означает печать веб-страницы на экране.В принципе, первая команда curl
попадает на страницу входа Garmin (http://connect.garmin.com/signin). Он отбрасывает данные. Это делается только для того, чтобы увидеть, действительно ли веб-страница вверх.
Вторая команда curl
регистрируется. Строка --data
- это данные, отправляемые на веб-страницу. Он притворяется, что вы заполнили регистрационную форму на странице входа и отправили Garmin свое имя пользователя и пароль. Выход с этой страницы поступает на терминал как вывод веб-страницы http (который, как я полагаю, анализируется для необходимой информации).
Вы говорите, что некоторое время являетесь разработчиком Android, поэтому я предполагаю, что вы знаете об Android-программировании и понимаете, как работает Android API. Я не разработчик Android, но я просмотрел документацию AndroidHttpClient API, и он не выглядит таким сложным. В принципе, вам нужно создать объект, который может отправить запрос на http://connect.garmin.com/signin
, чтобы проверить, что он запущен и работает, и если он есть, вы отправляете другой запрос в https://connect.garmin.com/signin
для входа. Данные, которые вы отправляете, находятся в --data
.