Java - чтение текстового файла с URL веб-страницы PHP - PullRequest
2 голосов
/ 24 марта 2011

Прежде всего, я новичок в Java, и мой английский плохой, поэтому надеюсь, что вы понимаете мою проблему.

Я хочу прочитать текстовый файл с этого URL: http://www.cophieu68.com/export/metastock.php?id=AAA

Хорошо, позвольте мне объяснить. Это вьетнамский веб-сайт с данными о запасах, и приведенная выше ссылка указывает на файл aaa.txt , который содержит информацию об акциях с кодовым названием AAA. И я могу взять информацию о других акциях, просто изменив значение переменной id .

И моя проблема в том, что я получаю набор HTML-кода, а не ожидаемый текстовый файл ( aaa.txt )

А вот и мой код:

    public static void main(String[] args){
    try {

        URL url = new URL("http://www.cophieu68.com/export/metastock.php?id=AAA");
        URLConnection urlConn = url.openConnection();

        System.out.println(urlConn.getContentType());  //it returns text/html

        BufferedReader in = new BufferedReader
        (new InputStreamReader(urlConn.getInputStream()));

        String text;

        while ((text = in.readLine()) != null) {

            System.out.println(text);
        }

        in.close();
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Спасибо за вашу помощь.

Ответы [ 2 ]

2 голосов
/ 24 марта 2011

Сайт, кажется, вынюхивает пользовательский агент , чтобы решить, какой контент следует отправить.

Если вы подделаете пользовательский агент , как показано ниже,он работает так, как вы и ожидали - ответом является текстовый файл:

urlConn.setRequestProperty ( "User-agent", "Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.0.2) Gecko/20121223 Ubuntu/9.25 (jaunty) Firefox/3.8");

Как вы, вероятно, можете сказать, это притворяется, что пользовательский агент - это Firefox 3.8 в Ubuntu.

0 голосов
/ 24 марта 2011

Вероятно, это связано с тем, что ссылка (http://www.cophieu68.com/export/metastock.php?id=AAA) отправляется в виде вложения. Если у вас есть доступ к файлу PHP, вам ничего не нужно делать, кроме печати данных и включения

header('Content-Type: text/plain');

в вашем файле PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...