Subj : Re: Synchronet Javascript and reading XML To : echicken From : KenDB3 Date : Sat Jul 30 2016 01:01 am > > I notice in the IRC bot code that you can get banned for hitting the web > > page too often. > Yes, this is something that I recall hearing about in the past. I guess you > get x number of hits per day. > > > Would there be a way to bring in the XML data without an HTTPRequest from > > a local file? Say > Sure. I would do something like this: > load('http.js'); > var url = 'http://www.hamqsl.com/solarxml.php'; > var file = system.data_dir + 'solardata.xml'; > var age = 43200; // Seconds > // Fetch data via HTTP and write to file specified above > function getSolarData() { > var sd = (new HTTPRequest()).Get(url); > var f = new File(file); > f.open('w'); > f.write(sd); > f.close(); > } > // Read data from local file and return parsed XML object > function readSolarData() { > var f = new File(file); > f.open('r'); > var sd = new XML(f.read().replace(/<\?[^?]*\?>/g, '')); > f.close(); > return sd; > } > // Fetch new data if local file timestamp less than file age specified above > if (!file_exists(file) || time() - file_utime(file) > 43200) getSolarData(); > // Read the current data on hand > var sd = readSolarData(); > // Now start printing out that fascinating solar data and your happy/sad sun > face > It would be worth throwing in some try ... catch blocks somewhere in there, > because the HTTP load or XML parsing portions may fail for a variety of > reasons. > You could also move the data-fetching part into a separate script and run it > on a schedule once, twice, or however many times per day that you want, then > the user facing script just loads whatever data is in the file that the > other script writes to. Thanks again EC, it is much appreciated. :-) ~KenDB3 --- þ Synchronet þ KD3net-Rhode Island's only BBS about nothing. http://bbs.kd3.us .