[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Getting currency rates



   Mike, if you or someone else can run this program and place it for us
   to pickup via FTP, I can get the company to pay you a small monthly
   rate, say in the neighborhood of $25 per month. Please contact off
   line and I will pass along to the Senior Programmer.
   --- On Tue, 7/8/08, Mike Krebs <mkrebs@xxxxxxxxxxxxxxxxxx> wrote:

     From: Mike Krebs <mkrebs@xxxxxxxxxxxxxxxxxx>
     Subject: Getting currency rates
     To: "'HTTPAPI and FTPAPI Projects'" <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
     Date: Tuesday, July 8, 2008, 9:34 PM
Adam and anyone else interested in currency!

>>    GET /usd/feed HTTP/1.1
>>    Host: xurrency.com

After seeing what you were trying to do
(http://www.scottklement.com/archives/ftpapi/200807/msg00014.html), I just
had to give it a go. Works good when you're not blocked by a firewall ;)

Mike Krebs

Here is the program adapted from example15 if anyone else wants to have a
go. BTW, there is much more that is returned in the XML--view the source of
http://xurrency.com/usd/feed to see other elements.


     H DFTACTGRP(*NO) BNDDIR('HTTPAPI')

 

     FQSYSPRT   O    F  132        PRINTER OFLIND(*INOF)

 

      /copy qrpglesrc,httpapi_h

      /copy qrpglesrc,ifsio_h

 

     D Incoming        PR

     D   userdata                      *   value

     D   depth                       10I 0 value

     D   name                      1024A   varying const

     D   path                     24576A   varying const

     D   value                    65535A   varying const

     D   Attrs                         *   dim(32767)

     D                                     const options(*varsize)

 

     D num             s             10I 0

     D item            ds                  occurs(40)

     D   title                      512A   varying

 

     D msg             s             50A

     D rc              s             10I 0

     D url             s            100A   varying

     D PrintLine       s            132A

     D x               s             10I 0

     D filename        s             45A   varying

 

      /free

 

        *inlr = *on;

 

        // ****************************************************

        //  Download the latest exchange rates

        // ****************************************************

        url = 'http://xurrency.com/usd/feed';

        filename = http_tempfile() + '.xml';

 

        rc = http_url_get( url : filename );

        if (rc <> 1);

           PrintLine = http_error();

           except;

           unlink(filename);

           return;

        endif;

 

        // ****************************************************

        //   parse the XML from the temp file.

        // ****************************************************

 

        if (http_parse_xml_stmf( filename

                               : HTTP_XML_CALC

                               : *null

                               : %paddr(Incoming)

                               : *null ) < 0 );

           PrintLine = http_error();

           except;

           unlink(filename);

           return;

        endif;

 

        // ****************************************************

        //  Print the currency

        //

        // ****************************************************

 

        for x = 1 to num;

           %occur(item) = x;

           PrintLine = title;

           except;

        endfor;

 

        unlink(filename);

        return;

 

      /end-free

 

     OQSYSPRT   E

     O                       PrintLine          132

 

 

      *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

      *  This is called for each XML element that's received in the

      *  document.

      *

      *

      *  The VALUE parameter gives us the text that's inside that

      *  element.

      *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

     P Incoming        B

     D Incoming        PI

     D   userdata                      *   value

     D   depth                       10I 0 value

     D   name                      1024A   varying const

     D   path                     24576A   varying const

     D   value                    65535A   varying const

     D   attrs                         *   dim(32767)

     D                                     const options(*varsize)

 

     D count           s             10I 0

     D attrname        s            100A   varying

     D attrval         s            100A   varying

      /free

 

            select;

            when name = 'dc:simpleTitle';

               num = num + 1;

               %occur(item) = num;

               title = value;

            endsl;

 

      /end-free

     P                 E 

And the output:

1 USD = 0.6389 EUR       
1 USD = 0.5088 GBP       
1 USD = 1.0455 AUD       
1 USD = 1.6000 BRL       
1 USD = 1.3278 NZD       
1 USD = 1.0216 CAD       
1 USD = 1.0318 CHF       
1 USD = 6.8681 CNY       
1 USD = 4.7642 DKK       
1 USD = 7.8003 HKD       
1 USD = 43.2900 INR      
1 USD = 107.5269 JPY     
1 USD = 1000.0000 KRW    
1 USD = 107.5269 LKR     
1 USD = 10.3199 MXN      
1 USD = 3.2658 MYR       
1 USD = 5.1020 NOK       
1 USD = 6.0096 SEK       
1 USD = 1.3643 SGD       
1 USD = 33.6700 THB      
1 USD = 30.3951 TWD      
1 USD = 2.1445 VEF       
1 USD = 7.7459 ZAR       
1 USD = 1.2497 BGN       
1 USD = 15.0376 CZK      
1 USD = 10.0000 EEK      
1 USD = 149.2537 HUF     
1 USD = 2.2060 LTL       
1 USD = 0.4497 LVL       
1 USD = 2.1155 PLN       
1 USD = 2.3020 RON       
1 USD = 19.3424 SKK      
1 USD = 4.6275 ISK       
1 USD = 76.9231 HRK      
1 USD = 23.5294 RUB      
1 USD = 1.2284 TRY       
1 USD = 45.6621 PHP      
1 USD = 2000.0000 COP    
1 USD = 3.1646 ARS       

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------