Конвертер валют через Yahoo Finance

 
0
 
Java
ava
yeti | 24.12.2016, 14:19
Помогите исправить не удается подключиться к Yahoo Finance




private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
       String curAmountText = curAmount.getText();
      
       for(int i=0;i < curAmountText.length();i++)
       {
           if(!Character.isDigit(curAmountText.charAt(i)))
           {
               JOptionPane.showMessageDialog(this, "Please enter a valid amount!");
               curAmount.requestFocus();
               return;
           }
       }

       resultDisplay.setText("");

       String curFromText   = curFrom.getSelectedValue().toString();
       String curToText     = curTo.getSelectedValue().toString();

       String[] temp = null;
       temp = curFromText.split(" - ");
       String curFromTitle = temp[0];
       String curFromCode = temp[1];

       temp = curToText.split(" - ");
       String curToTitle = temp[0];
       String curToCode = temp[1];

       String URL = "http://finance.yahoo.com/q/bc?s=" + curFromCode + "" + curToCode + "=X&t=5d&l=on&z=m&q=l&c=";

        try {
          
            String results = "";
            URL thePage = new URL(URL);
            BufferedReader in = new BufferedReader(new InputStreamReader(thePage.openStream()));
            String inputLine;

            while ((inputLine = in.readLine()) != null) {
             
              results = results + inputLine;
            }
            in.close();
           
            Pattern finalPattern = Pattern.compile("x">([0-9.]+)</span>");
            Matcher matchFind = finalPattern.matcher(results);
            matchFind.find();

            double curRate = Double.valueOf(matchFind.group(1)).doubleValue();
            double totalConvert = curRate * Double.valueOf(curAmount.getText()).doubleValue();

           
            finalPattern = Pattern.compile("<span id="yfs_t10_[a-zA-Z]+=x">(.*)</span>:");
            matchFind = finalPattern.matcher(results);
            matchFind.find();

            resultDisplay.setText(String.format("%,.2f", totalConvert));
            resultDisplayTime.setText("Per Trade Time: "+matchFind.group(1));
       } catch (Exception e) {
           // Do error handling
           JOptionPane.showMessageDialog(this, "Не удается подключиться к Yahoo Finance!");
       }
    }
Ответы (3)
ava
a0730 | 26.12.2016, 08:13 #
Попробуй изменить URL на

String URL = "http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=" + curFromCode + curToCode + "=X";
ava
yeti | 26.12.2016, 13:00 #
Цитата (a0730 @ 26.12.2016,  08:13)
Попробуй изменить URL на 



String URL = "http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=" + curFromCode + curToCode + "=X";





Этот ответ добавлен с нового Винграда - http://vingrad.com

не работает
ava
LSD | 26.12.2016, 19:07 #
Телепаты у нас давно перевелись, а без них понять что значит "не удается подключиться", не получится.
Зарегистрируйтесь или войдите, чтобы написать.
Фирма дня
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Участники
ava  LSD   a0730   yeti
advanced
Отправить