Конвертер валют через 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!");
       }
    }
Kommentare (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 #
Телепаты у нас давно перевелись, а без них понять что значит "не удается подключиться", не получится.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
ava  LSD   a0730   yeti
advanced
Absenden