【问题标题】:port bash script to java将 bash 脚本移植到 java
【发布时间】:2011-03-10 16:50:35
【问题描述】:

我找到了以下我想在 Android 应用程序中使用的 bash 脚本。尽管花了一段时间开发应用程序,但我几乎没有 bash/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" |\

curl如何对应Android的HttpClient命令等?

代码来自这里:http://braiden.org/?p=62#more-62

【问题讨论】:

    标签: android bash https


    【解决方案1】:

    Curl 是一个程序,它允许您(通过命令行)下载 http 和 https 请求,而无需通过浏览器。它类似于wget 命令。

    同时,Android 的 HttpClient 不是一个命令,甚至不是一个函数。它是一个基于类的 API,允许您执行 http 请求。

    我建议您浏览 Curl 手册页(我链接到该手册页),看看您是否可以看到传递给 Curl 的各种参数的作用。此命令两次访问相同的 URL "http://connect.garmin.com/signin"。第一次它只是检查它是否可以访问。如果是,它将运行第二个curl 命令。以下是各种参数的含义:

    • --位置:如果网页已移动到其他 URL,这将尝试使用新 URL 再次运行 curl 命令。
    • --cookie:cookie 用于跟踪用户请求。它允许服务器知道同一个人再次访问。每个 URL 请求通常是独立的,因此 http 使用所谓的会话 cookie 来跟踪用户访问网站时的情况。通常,参数为key=value,这就是要使用的cookie。
    • --cookie-jar:这是服务器可以在本地系统上存储会话 cookie 的文件。这允许服务器获取和检索会话信息。
    • --输出:这是输出从服务器检索到的网页的位置。 /dev/null 是一个你可以扔掉你不想要的东西的地方。 - 表示将网页打印到屏幕上。

    基本上,第一个curl 命令是点击 Garmin 登录页面 (http://connect.garmin.com/signin)。它正在丢弃数据。这样做只是为了查看网页是否真的启动了。

    第二个curl 命令正在登录。--data 行是发送到网页的数据。它假装您已在登录页面上填写了登录表单,并向 Garmin 发送您的用户名和密码。该页面的输出作为 http 网页输出(我敢打赌正在解析您想要的信息)进入终端。

    您说您从事 Android 开发已经有一段时间了,所以我假设您了解 Android 编程并了解 Android API 的工作原理。我不是 Android 开发人员,但我查看了AndroidHttpClient API documentation,它看起来并不那么复杂。基本上,您需要创建一个可以向http://connect.garmin.com/signin 发送请求以验证它是否已启动并运行的对象,如果是,则向https://connect.garmin.com/signin 发送另一个请求以登录。您发送的数据在@ 987654335@参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多