Java - 读取PHP网页生成的数据时出错

时间:2013-01-16 00:57:06

标签: java php urlconnection

所有

我正在测试我的java代码,用于从PHP网页获取天气数据(http://www.agroclimate.org/howard/GDD/getFAWNDailyData.php?loc=490&frommonth=6&fromday=26& fromyear = 2009&安培; tomonth = 7和;今天= 7和; toyear = 2009)。

我的代码在我的电脑上运行良好(win7,jre6和jre7)。 当我在网络浏览器(explorer9,chrome)中访问上述链接时,浏览器会自行下载“getFAWNDailyData.php”页面,而不是运行它。

我的问题是代码在具有类似规范的其他计算机上不起作用(win7,jre6和jre7)。代码试图读取php页面源本身,而不是页面生成的数据。而且,它的网络浏览器(explorer9,chrome)也像我一样下载页面。

我在两台计算机之间找不到任何区别,并且无法在其他计算机上生成错误。

你能提供一些我可以查看的线索吗?

这是我的代码;

try {
    url = new URL(
            "http://www.agroclimate.org/howard/GDD/getFAWNDailyData.php?loc=490&frommonth=6&fromday=26&fromyear=2009&tomonth=7&today=7&toyear=2009");

    URLConnection urlConn = url.openConnection();

    InputStream is = urlConn.getInputStream();
    InputStreamReader reader = new InputStreamReader(is);
    BufferedReader bf = new BufferedReader(reader);

    int lines = 0;
    int wind_count = 0, airtemp_count = 0;

    // et starts from the 2nd line
    String firstLine = bf.readLine(); // firstLine is "DATETIME,ET"
    System.out.print("\n" + "-----" + firstLine + "\n");

    String year = "", month = "", day = "", WindCount = "", AirTempCount = "";
    int monthNum = 0;
    String line = bf.readLine();
    System.out.print("\n" + "-----" + line + "\n");

    StringTokenizer st = new StringTokenizer(line, ",");
    if (st.hasMoreTokens()) {
        year = st.nextToken();
    }
    if (st.hasMoreTokens()) {
        month = st.nextToken();
        String[] values = month.split(" ");
        day = values[0].substring(1);
        year = values[2].replace('"', ' ');
        year = year.trim();
        month = values[1].trim();
        monthNum = getMonthValue(month);
    }

    System.out.println("year---:[" + year + "]");
    System.out.println("month---:[" + month + "]");
    System.out.println("day---:[" + day + "]");
} catch (MalformedURLException me) {
    me.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (is != null)
        try {
            is.close();
        } catch (IOException e) {
            ;
        }
}

感谢。

0 个答案:

没有答案