从Internet读取CSV文件

时间:2012-02-01 08:46:40

标签: java

我正在尝试从互联网上的CSV文件中读取数据(股票价格),但我收到的内容是这样的:

(function() {
    var ga = document.createElement('script');
    ga.type = 'text/javascript';
    ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(ga, s);
})();

这是我的代码:

public static void main(String[] args) {
    try {
        URL url12 = new URL("http://www.cophieu68.com/export/excel.php?id=BBS");
        URLConnection urlConn = url12.openConnection();
        InputStreamReader inStream = new InputStreamReader(urlConn.getInputStream());
        BufferedReader buff = new BufferedReader(inStream);
        String content1 = buff.readLine();
        String content2 = buff.readLine();
        while (content2 != null) {
            System.out.println(content2);
            content2 = buff.readLine();
        }
    } catch (Exception e) {
        System.out.print("KHONG TAI DUOC DU LIEU");
    }
}

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

实际上服务器似乎有问题。如果您跟踪连接,您会注意到响应是:

HTTP/1.0 302 Moved Temporarily
Date: Wed, 01 Feb 2012 08:48:48 GMT
Server: Apache/2.2.3 (CentOS)
X-Powered-By: PHP/5.1.6
Pragma: no-cache
Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Content-Description: File Transfer
Content-Disposition: csv; filename=excel_bbs.csv; size=46925
Set-Cookie: PHPSESSID=2lgqidrmqrvu3piu47ulvrn5t3; path=/
Set-Cookie: cophieu68_LanuageView=vn; expires=Fri, 02-Mar-2012 08:48:48 GMT
Location: http://www.cophieu68.com/wap
...

如果您按照重定向链接(http://www.cophieu68.com/wap),您将获得客户正在接收的内容。我不知道为什么服务器设置为这种方式,但如果您在客户端禁用重定向,您将收到CSV。您可以通过添加以下行来完成此操作:

URLConnection urlConn = url12.openConnection();
// Disable redirects
HttpURLConnection conn = (HttpURLConnection)urlConn;
conn.setInstanceFollowRedirects( false );
InputStreamReader inStream = new InputStreamReader(urlConn.getInputStream());

如果您控制服务器,请检查您是否确实需要发送此响应。

答案 1 :(得分:1)

您正在尝试阅读.csv文件,但您使用的链接实际上是一个将您重定向到CSV的网页。

检查重定向或使用其他链接(:

答案 2 :(得分:0)

看起来您检索了一些Javascript而不是您想要的数据。检查您的网址。