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

Kursna lista NBS

[es] :: PHP :: Kursna lista NBS
(Zaključana tema (lock), by Nemanja Avramović)
Strane: 1 2 3 4

[ Pregleda: 61470 | Odgovora: 60 ] > FB > Twit

Postavi temu

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mnicic
Kragujevac

Član broj: 6424
Poruke: 167

Sajt: https://www.pravac.com


Profil

icon Kursna lista NBS26.04.2006. u 19:36 - pre 218 meseci
------------------------------------

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]
 
0

SmilieBG
Aleksandar Skodric
NL

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



+3 Profil

icon Re: Kursna lista NBS26.04.2006. u 20:03 - pre 218 meseci
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
=========
 
0

SmilieBG
Aleksandar Skodric
NL

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



+3 Profil

icon Re: Kursna lista NBS26.04.2006. u 20:04 - pre 218 meseci
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
=========
 
0

mnicic
Kragujevac

Član broj: 6424
Poruke: 167

Sajt: https://www.pravac.com


Profil

icon Re: Kursna lista NBS26.04.2006. u 20:10 - pre 218 meseci
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?
 
0

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Kursna lista NBS26.04.2006. u 20:34 - pre 218 meseci
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.
 
0

SmilieBG
Aleksandar Skodric
NL

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



+3 Profil

icon Re: Kursna lista NBS26.04.2006. u 20:45 - pre 218 meseci
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
=========
 
0

Aleksandar Marković
Part Time Freelance Journalist

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

Sajt: www.akcenat.info


+8 Profil

icon Re: Kursna lista NBS26.04.2006. u 21:57 - pre 218 meseci
Kursna lista i vremenska prognoza
 
0

mnicic
Kragujevac

Član broj: 6424
Poruke: 167

Sajt: https://www.pravac.com


Profil

icon Re: Kursna lista NBS27.04.2006. u 10:42 - pre 218 meseci
@smilieBG
pogledao ja, ne radi ni kod tebe...
 
0

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Kursna lista NBS27.04.2006. u 11:18 - pre 218 meseci
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?
 
0

mnicic
Kragujevac

Član broj: 6424
Poruke: 167

Sajt: https://www.pravac.com


Profil

icon Re: Kursna lista NBS27.04.2006. u 13:57 - pre 218 meseci
@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]
 
0

Aleksandar Marković
Part Time Freelance Journalist

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

Sajt: www.akcenat.info


+8 Profil

icon Re: Kursna lista NBS27.04.2006. u 16:11 - pre 218 meseci
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]
 
0

mnicic
Kragujevac

Član broj: 6424
Poruke: 167

Sajt: https://www.pravac.com


Profil

icon Re: Kursna lista NBS27.04.2006. u 22:31 - pre 218 meseci
naravno, resenje cu postaviti. samo trebam jos malo da ga doradim kako drugi ne bi imali problema - da im olaksam posao.
 
0

pyc
Marko Domanović
Beograd

Član broj: 2771
Poruke: 902

Sajt: www.getmonero.org


+80 Profil

icon Re: Kursna lista NBS11.08.2006. u 08:10 - pre 214 meseci
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
 
0

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Kursna lista NBS11.08.2006. u 09:04 - pre 214 meseci
http://www.nbs.yu/data/page.ph...30&SUBMIT=Prikaži
 
0

papago

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



Profil

icon Re: Kursna lista NBS27.12.2006. u 01:02 - pre 210 meseci
Da li je neko uspeo da resi ovaj problem sa citanjem fajlova sa nbs servera, posto sada vise nista ne funkcionise....
 
0

Boris Stevanovic
Srbija

Član broj: 1265
Poruke: 121
194.79.41.*



Profil

icon Re: Kursna lista NBS27.12.2006. u 06:51 - pre 210 meseci
A zasto ti to treba ?
 
0

pyc
Marko Domanović
Beograd

Član broj: 2771
Poruke: 902

Sajt: www.getmonero.org


+80 Profil

icon Re: Kursna lista NBS27.12.2006. u 08:26 - pre 210 meseci
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.
 
0

pyc
Marko Domanović
Beograd

Član broj: 2771
Poruke: 902

Sajt: www.getmonero.org


+80 Profil

icon Re: Kursna lista NBS27.12.2006. u 10:36 - pre 210 meseci
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);
    }
}
?>

 
0

papago

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



Profil

icon Re: Kursna lista NBS27.12.2006. u 13:58 - pre 210 meseci
mnogo ti hvala pyc...odmah cu veceras da isprobam da li funkcionise..

veliki pozdrav
 
0

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

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

Sajt: www.gvozden.info


+68 Profil

icon Re: Kursna lista NBS28.12.2006. u 00:49 - pre 210 meseci
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

 
0

[es] :: PHP :: Kursna lista NBS
(Zaključana tema (lock), by Nemanja Avramović)
Strane: 1 2 3 4

[ Pregleda: 61470 | Odgovora: 60 ] > FB > Twit

Postavi temu

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