登录我的Sprint手机网络帐户并使用Java获取帐户详细信息的最佳方式?

时间:2014-07-14 03:21:30

标签: java google-app-engine

我想在Google App Engine上创建一个能够登录我的Sprint手机帐户并阅读总金额的应用。我在sprint.com上登录我的网络帐户。
做这个的最好方式是什么?

这里的主要目标是在云中而不是在我的电脑或手机上进行。这样它就可以在没有用户交互的情况下登录,并对应付的总金额执行某些操作。它应该只是请求发送到sprint.com。

如果它可以在常规Java应用程序中运行,那么它应该在Google App Engine中运行。我可以做某种记录来生成Java代码以允许我登录。 我确信,如果我尝试重播请求,我将不得不以某种方式重新计算安全标头。

1 个答案:

答案 0 :(得分:1)

考虑使用selenium webdriver项目http://docs.seleniumhq.org/docs/03_webdriver.jsp 它们支持几种编程语言,包括java,它允许你编写jquery样式查找以获取网站信息。您并不像FireFox那样支持主要浏览器(包括chrome)。我忘记了他们所谓的服务器服务,但我知道你可以在服务器上部署这个项目。

以下是上述链接中的示例。

package org.openqa.selenium.example;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

public class Selenium2Example  {
    public static void main(String[] args) {
        // Create a new instance of the Firefox driver
        // Notice that the remainder of the code relies on the interface, 
        // not the implementation.
        WebDriver driver = new FirefoxDriver();

        // And now use this to visit Google
        driver.get("http://www.google.com");
        // Alternatively the same thing can be done like this
        // driver.navigate().to("http://www.google.com");

        // Find the text input element by its name
        WebElement element = driver.findElement(By.name("q"));

        // Enter something to search for
        element.sendKeys("Cheese!");

        // Now submit the form. WebDriver will find the form for us from the element
        element.submit();

        // Check the title of the page
        System.out.println("Page title is: " + driver.getTitle());

        // Google's search is rendered dynamically with JavaScript.
        // Wait for the page to load, timeout after 10 seconds
        (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
                return d.getTitle().toLowerCase().startsWith("cheese!");
            }
        });

        // Should see: "cheese! - Google Search"
        System.out.println("Page title is: " + driver.getTitle());

        //Close the browser
        driver.quit();
    }
}