Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kursna lista NBS

[es] :: PHP :: Kursna lista NBS

Strane: 1 2 3

[ Pregleda: 49551 | Odgovora: 58 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mnicic
Kragujevac

Član broj: 6424
Poruke: 136

Sajt: www.pravac.com


Profil

icon Kursna lista NBS26.04.2006. u 19:36 - pre 3919 dana
------------------------------------

Informacija iz 2010. godine
Poruka: http://www.elitesecurity.org/p2678616

Citat:
Predrag Supurovic: Ovih dana sam se bavio preuzimanjem kursne liste i prilicno me je namucilo. Dokumentacije je dosta stura, ali uz nesto kopanja i par hintova podrske iz NBS uspelo mi je da zavrsim stvar.

Objasnjenje i primer koji radi imate na PHP, nusoap i veb servis za kursnu listu NBS


------------------------------------

Pravim kursnu listu dinara po ASC fajlu NBS. Imam problem pri "dobijanju" fajla.

Code:

$k_file = "http://www.nbs.yu/serbian/kursevi/ascii/Kl" . gmdate("ymd") . ".asc"
...
if(!($f = fopen($k_file, "r"))) die ("---");
{
     $zemlja = fgets($f, 110);
     ...


Nece nikako da mi ocita fajl. Kako mogu da resim ovaj problem?



[Ovu poruku je menjao Goran Rakić dana 03.09.2010. u 00:39 GMT+1]
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



Profil

icon Re: Kursna lista NBS26.04.2006. u 20:03 - pre 3919 dana
Paa.... verovatno zato sto je fajl ASC a _nije_ ACS

http://www.nbs.yu/serbian/kursevi/ascii/Kl060425.asc

;)

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



Profil

icon Re: Kursna lista NBS26.04.2006. u 20:04 - pre 3919 dana
predlazem, da zapalis jednu, popijes kafu, malo prosetas... najozbiljnije ;)
Znam u kakvom sam ja stanju, kad postavim pitanje, a ispostavise se da je sintaksicka greska ;)

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

mnicic
Kragujevac

Član broj: 6424
Poruke: 136

Sajt: www.pravac.com


Profil

icon Re: Kursna lista NBS26.04.2006. u 20:10 - pre 3919 dana
oups! sorry! to je moja greska u prebacivanju koda ovde na forum. u programu je ispravno napisano "ASC". jos jedom, sorry...

da li neko ima ideju gde je problem?
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13582

Sajt: www.gojkovujovic.com


Profil

icon Re: Kursna lista NBS26.04.2006. u 20:34 - pre 3918 dana i 23h
Za dovlačenje fajla probaj:

Code:
$l = file("http://www.nbs.yu/serbian/kursevi/ascii/Kl" . gmdate("ymd") . ".asc");


Za parsing vidi php.net/explode ili ako nije dovoljan, preg_match.
 
Odgovor na temu

SmilieBG
Aleksandar Skodric
NL

Član broj: 13094
Poruke: 1821
*.speed.planet.nl.



Profil

icon Re: Kursna lista NBS26.04.2006. u 20:45 - pre 3918 dana i 23h
ja testirao i meni radi :S

http://aleksandar.skodric.eu/testes.php

code:

http://aleksandar.skodric.eu/testes.phps

Poz,
Sale
=========
Uporedi cene i karakteristike za vise od 10.000 proizvoda, izmedju ostalog:
Digitalni foto-aparati
Mobilni telefoni
Skolski pribor
=========
 
Odgovor na temu

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5222
*.dialup.sezampro.yu.

Sajt: www.akcenat.info


Profil

icon Re: Kursna lista NBS26.04.2006. u 21:57 - pre 3918 dana i 22h
Kursna lista i vremenska prognoza
 
Odgovor na temu

mnicic
Kragujevac

Član broj: 6424
Poruke: 136

Sajt: www.pravac.com


Profil

icon Re: Kursna lista NBS27.04.2006. u 10:42 - pre 3918 dana i 9h
@smilieBG
pogledao ja, ne radi ni kod tebe...
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13582

Sajt: www.gojkovujovic.com


Profil

icon Re: Kursna lista NBS27.04.2006. u 11:18 - pre 3918 dana i 8h
Prvo proveri da li generisani url stvarno postoji (otvori ga u browseru), pa onda daj dijagnozu da li skripta radi ili ne. Konkretno, juče je njegova skripta radila, danas ne radi jer ne postoji kursna lista sa tim imenom.

I mogu li da pitam zašto voliš fopen i ručno brljanje po strukturi fajla, ako postoje file i explode funkcije koje sam pomenuo?
 
Odgovor na temu

mnicic
Kragujevac

Član broj: 6424
Poruke: 136

Sajt: www.pravac.com


Profil

icon Re: Kursna lista NBS27.04.2006. u 13:57 - pre 3918 dana i 6h
@gojko vujovic
da, da - kasnije sam video da ne postoji sa tim imenom. ok je...

koristio sam i ja explode funkciju, samo mi je bio problem fopen. ali resio sam sa file() - ne znam zasto mi je prvo fopen palo na pamet. hvala svima!

[Ovu poruku je menjao mnicic dana 27.04.2006. u 15:04 GMT+1]
 
Odgovor na temu

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5222
*.dialup.sezampro.yu.

Sajt: www.akcenat.info


Profil

icon Re: Kursna lista NBS27.04.2006. u 16:11 - pre 3918 dana i 3h
uvek je interesantno videti razlicita resenja ...tip za ubuduce ...postuj svoje finalno resenje, ako si vec postavio pitanje i dobio neke odgovore...daj pomoc onima kojima ce to pitanje tek postati potrebno

[Ovu poruku je menjao Aleksandar Marković dana 27.04.2006. u 18:16 GMT+1]
 
Odgovor na temu

mnicic
Kragujevac

Član broj: 6424
Poruke: 136

Sajt: www.pravac.com


Profil

icon Re: Kursna lista NBS27.04.2006. u 22:31 - pre 3917 dana i 21h
naravno, resenje cu postaviti. samo trebam jos malo da ga doradim kako drugi ne bi imali problema - da im olaksam posao.
 
Odgovor na temu

pyc
Marko Domanović
Beograd

Član broj: 2771
Poruke: 791

Sajt: www.getmonero.org


Profil

icon Re: Kursna lista NBS11.08.2006. u 08:10 - pre 3812 dana i 12h
Od 08/08/2006 menjala se logika oko kursne liste NBS, tako da se sada na adresi http://www.nbs.yu/serbian/kursevi/ascii/ (ovaj direktorijum ne moze da se vidi, ali je format fajla bio Klyymmdd.asc, vise ne mogu naci kursne liste. Da li sada postoji neki direktorijum odakle bi mogla da se povuce kursna lista, a da to nije preko forumulara sa weba...?

Poslednji datum za koji postoji lista u tom diru je Kl060810.asc
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13582

Sajt: www.gojkovujovic.com


Profil

icon Re: Kursna lista NBS11.08.2006. u 09:04 - pre 3812 dana i 11h
http://www.nbs.yu/data/page.ph...30&SUBMIT=Prikaži
 
Odgovor na temu

papago

Član broj: 127278
Poruke: 3
*.pools.arcor-ip.net.



Profil

icon Re: Kursna lista NBS27.12.2006. u 01:02 - pre 3674 dana i 18h
Da li je neko uspeo da resi ovaj problem sa citanjem fajlova sa nbs servera, posto sada vise nista ne funkcionise....
 
Odgovor na temu

Boris Stevanovic
Srbija

Član broj: 1265
Poruke: 121
194.79.41.*



Profil

icon Re: Kursna lista NBS27.12.2006. u 06:51 - pre 3674 dana i 12h
A zasto ti to treba ?
 
Odgovor na temu

pyc
Marko Domanović
Beograd

Član broj: 2771
Poruke: 791

Sajt: www.getmonero.org


Profil

icon Re: Kursna lista NBS27.12.2006. u 08:26 - pre 3674 dana i 10h
Izgleda da nekome u NBS smeta automatsko preuzimanje kursne liste, pa su koliko vidim juče smislili neku novu smicalicu... Nije lako provaliti šta je, ali radim na tome... Izgleda da su počeli da proveravaju referera, pa onda može da se učita samo iz browsera... Radim na rešenju, objaviću ako rešim.
 
Odgovor na temu

pyc
Marko Domanović
Beograd

Član broj: 2771
Poruke: 791

Sajt: www.getmonero.org


Profil

icon Re: Kursna lista NBS27.12.2006. u 10:36 - pre 3674 dana i 8h
Pokusao sam kompletno da rekontruisem POST zahtev koji ide ka serveru NBS da bi se u odgovoru dobila kursna lista i trebalo bi da header tog zahteva izgleda ovako:

Code:

POST http://www.nbs.yu/data/page.ph...s_page=kursnaLista.jsp?lang=sr HTTP/1.1
Host: www.nbs.yu
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://www.nbs.yu/data/page.ph...p;nbs_page=kl_form.jsp?lang=sr
Content-Type: application/x-www-form-urlencoded
Content-Length: 52

datum=27.12.2006&eksport=ascii&clientIP=80.93.235.82



Do sada sam varijable datum, eksport i clientIP slao preko GET-a i to je radilo... juce je odjednom prestalo da radi, a ja sam se bacio na zadatak da PHP te stvari salje preko POST-a. Ovde cu da ostavim kod koji kod mene automatski preuzima kursnu listu, i prvu verziju koja je radila do prekjuce, i drugu verziju sa POST varijablama koja mi i dalje ne radi. Izgleda da je problem u tome sto file_get_contents() funkcija, ne moze da kao argument prihvati resource koji napravi funkcija stream_context_create()... bilo kako bilo, trenutno sam jako zauzet da bi kopao danima(?) :) zasto sve ovo ne radi, ako neko moze da preuzme stafetu, bio bih zahvalan, a sada i stari i novi kod:

stari:
Code:

<?
$filename = 'http://www.nbs.yu/data/page.ph...naLista.jsp?lang=sr&datum='.date('d').'.'.date('m').'.'.date('Y').'&vrsta=1&eksport=ascii&clientIP=208.68.210.233&SUBMIT=Prikaži';
$filelocal = 'kliste/Kl'.date('y').date('m').date('d').'.asc';

if(!file_exists($filelocal)) {  //ako vec nije uspeo da skine u prethodnom pokusaju
    $str = file_get_contents($filename);
    //if (date('D') != 'Sat' && date('D') != 'Sun' && strlen($str) > 500) {
    if (date('D') != 'Sat' && date('D') != 'Sun') {
        $fp = fopen($filelocal,"w");
        fwrite($fp,$str);
        fclose($fp);
    } 
    else {  //pravi se kopija fajla na disku za danas a od juce...  TREBA DA SE POVEDE RACUNA AKO SE od 01 oduzima 1....
        $d = date('j')-1;
        if ($d < 10) $d = '0'.$d;
        $m = date('m');
        $y = date('y');
        if(date('j') == '1') {
            switch(date('m')) {
                case '01': $d = '31'; $m = '12'; $y = date('Y') - 1; $y = substr($y,2,2); break;
                case '02': $d = '31'; $m = '01'; break;
                case '03': 
                            //AKO JE PRESTUPNA GODINA.
                            if (mcal_is_leap_year(date('Y')) == 0) $d = '28'; else $d = '29'; 
                            $m = '02'; break;

                case '04': $d = '31'; $m = '03'; break;
                case '05': $d = '30'; $m = '04'; break;
                case '06': $d = '31'; $m = '05'; break;
                case '07': $d = '30'; $m = '06'; break;
                case '08': $d = '31'; $m = '07'; break;
                case '09': $d = '31'; $m = '08'; break;
                case '10': $d = '30'; $m = '09'; break;
                case '11': $d = '31'; $m = '10'; break;
                case '12': $d = '30'; $m = '11'; break;
            }
        }
        $fileyesterday = 'liste/Kl'.$y.$m.$d.'.asc';
        copy($fileyesterday,$filelocal);
    }
}    
?> 


novi:
Code:

<?
error_reporting(E_ALL);

function http_build_query($a,$b='',$c=0){
    if (!is_array($a)) return false;
    foreach ((array)$a as $k=>$v){
    if ($c) $k=$b."[".$k."]"; elseif (is_int($k)) $k=$b.$k;
    if (is_array($v)||is_object($v)) {$r[]=http_build_query($v,$k,1);continue;}
    $r[]=$k."=".urlencode($v);
    }
    return implode("&",$r);
}
$filename = 'http://www.nbs.yu/data/page.ph...s_page=kursnaLista.jsp?lang=sr';

$danas = date('d').'.'.date('m').'.'.date('Y');

$postdata = http_build_query(
   array(
       'datum' => $danas,
       'eksport' => 'ascii',
       'clientIP' => '208.68.210.233'
   )
);

$opts = array('http' =>
   array(
       'method'  => 'POST',
       'header'  =>    "Content-type: application/x-www-form-urlencoded\r\n" .
                       "Host: www.nbs.yu\r\n" .
                       "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1\r\n" .
                       "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n" .
                       "Accept-Language: en-us,en;q=0.5\r\n" .
                       "Referer: http://www.nbs.yu/data/page.ph...p;nbs_page=kl_form.jsp?lang=sr\r\n" .
                       "Content-Length: 54",
       'content' => $postdata
   )
);

/*
if (function_exists('stream_context_create')) {
   echo "available.<br />\n";
} else {
   echo "not available.<br />\n";
}
*/

$context  = stream_context_create($opts);
$filelocal = 'liste/Kl'.date('y').date('m').date('d').'.asc';

echo "danas: " . $danas."<br>";
echo "postdata: " . $postdata."<br>";
print_r($opts);

if(!file_exists($filelocal)) {  //ako vec nije uspeo da skine u prethodnom pokusaju
    echo "da li je ovo normalno";    
    $str = file_get_contents($filename, false, $context);
    echo $str;
    //if (date('D') != 'Sat' && date('D') != 'Sun' && strlen($str) > 500) {
    if (date('D') != 'Sat' && date('D') != 'Sun') {
        $fp = fopen($filelocal,"w");
        fwrite($fp,$str);
        fclose($fp);
    }
    else {  //pravi se kopija fajla na disku za danas a od juce...  TREBA DA SE POVEDE RACUNA AKO SE od 01 oduzima 1....
        $d = date('j')-1;
        if ($d < 10) $d = '0'.$d;
        $m = date('m');
        $y = date('y');
        if(date('j') == '1') {
            switch(date('m')) {
                case '01': $d = '31'; $m = '12'; $y = date('Y') - 1; $y = substr($y,2,2); break;
                case '02': $d = '31'; $m = '01'; break;
                case '03':
                            //AKO JE PRESTUPNA GODINA.
                            if (mcal_is_leap_year(date('Y')) == 0) $d = '28'; else $d = '29';
                            $m = '02'; break;

                case '04': $d = '31'; $m = '03'; break;
                case '05': $d = '30'; $m = '04'; break;
                case '06': $d = '31'; $m = '05'; break;
                case '07': $d = '30'; $m = '06'; break;
                case '08': $d = '31'; $m = '07'; break;
                case '09': $d = '31'; $m = '08'; break;
                case '10': $d = '30'; $m = '09'; break;
                case '11': $d = '31'; $m = '10'; break;
                case '12': $d = '30'; $m = '11'; break;
            }
        }
        $fileyesterday = 'liste/Kl'.$y.$m.$d.'.asc';
        copy($fileyesterday,$filelocal);
    }
}
?>

 
Odgovor na temu

papago

Član broj: 127278
Poruke: 3
*.pools.arcor-ip.net.



Profil

icon Re: Kursna lista NBS27.12.2006. u 13:58 - pre 3674 dana i 5h
mnogo ti hvala pyc...odmah cu veceras da isprobam da li funkcionise..

veliki pozdrav
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1066
*.BVCOM.NET.

Sajt: www.gvozden.info


Profil

icon Re: Kursna lista NBS28.12.2006. u 00:49 - pre 3673 dana i 18h
Malo jednostavniji nacin za pristup kursnoj listi nbs, bez koriscenja POST-a:

Code:

function get_from_url($url){
    $opts = array(
        'http' => array(
            'method' => "GET",
            'header' => 
            "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1\r\n" .
            "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n" .
            "Accept-Language: en-us,en;q=0.5\r\n" 
        )
    );
    $context = stream_context_create($opts);
    $handle = @fopen($url, "rb", false, $context); 
    $contents = '';
    if ($handle){
        while (!feof($handle)) {
            $contents .= fread($handle, 8192);
        }
        fclose($handle);
    } else return false;
    return $contents;
}


jednostavan poziv funkcije

Code:

$source = "http://www.nbs.yu/serbian/kursevi/ascii/Kl".date("ymd", time()).".asc";
$contents = get_from_url($source);


Uz kombinaciju sa kesiranjem, odredjivanjem zadnjeg datuma i parsovanjem ascii-ja moze se dobiti upotrebljiv skript.
Ovo obicno stavljam kao plug-in kroz iframe: http://www.bgsvetionik.com/plugins/kursna_lista/kursna_lista.php

 
Odgovor na temu

[es] :: PHP :: Kursna lista NBS

Strane: 1 2 3

[ Pregleda: 49551 | Odgovora: 58 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.