]> pere.pagekite.me Git - homepage.git/commitdiff
Ny post.
authorPetter Reinholdtsen <pere@hungry.com>
Mon, 28 May 2012 21:58:26 +0000 (21:58 +0000)
committerPetter Reinholdtsen <pere@hungry.com>
Mon, 28 May 2012 21:58:26 +0000 (21:58 +0000)
blog/data/2012-05-28-bensinpris.txt [moved from blog/draft/2011-12-bensinpris.txt with 69% similarity]

similarity index 69%
rename from blog/draft/2011-12-bensinpris.txt
rename to blog/data/2012-05-28-bensinpris.txt
index b00ad3880b1834bdcc8b791f6c621caab5479f71..63a8669480d45a816a0468fcbca8636ceb286ce9 100644 (file)
@@ -1,56 +1,65 @@
 Title: Litt informasjon om Bitfactors Bensinpris-API
 Tags: norsk
-Date: 2011-12-09 12:00
+Date: 2012-05-28 23:55
 
-<p>For noen måneder siden lanserte Bitfactory en
+<p>I fjor siden lanserte Bitfactory en
 <a href="http://www.bitfactory.no/bensinpris.html">mobilapp for å få
-tilgang til bensinpriser</a> på landets bensinstasjoner.
-Informasjonen appens brukere har samlet inn har så langt kun vært
+tilgang til bensinpriser</a> på landets bensinstasjoner ved å samle
+inn prisene på dugnad ved hjelp av mobilapp-ens brukere.
+Informasjonen app-ens brukere har samlet inn har så langt kun vært
 tilgjengelig for brukerne av app-ene, og API for å hente ut
 informasjonen fra andre plattformer har ikke vært publisert.  Da
 løsningen kom spurte jeg utviklerne om de kunne publisere
 API-dokumentasjon og de skulle se på saken, men det har ikke skjedd så
-langt.</p>
+langt.  Jeg antar de har vært for travelt opptatt til å publisere
+API-dokumentasjon.</p>
 
 <p>Utrolig nok er det i følge
-<ahref="http://www.dn.no/energi/article2194526.ece">Dagens
+<a href="http://www.dn.no/energi/article2194526.ece">Dagens
 Næringsliv</a> og
-<ahref="http://www.finnmarkdagblad.no/nyheter/article5323140.ece">Finnmark
+<a href="http://www.finnmarkdagblad.no/nyheter/article5323140.ece">Finnmark
 Dagbladet</a> bensinstasjoner som nekter å oppgi prisene sine på
 telefon, slik at det ikke finnes en fornuftig måte å få tak i prisene
 på uten å samle dem inn på stedet.  Flere har dugnader på gang for å
 samle inn prisinformasjon om bensin, men så vidt jeg kan se er det kun
-<ahref="http://www.dinside.no/php/oko/bensin/vis_prisliste.php">dinside.no</a>
+<a href="http://www.dinside.no/php/oko/bensin/vis_prisliste.php">dinside.no</a>
 og Bitfactorys App som får regelmessige oppdateringer.  Dinsides
 oversikt er tilgjengelig på web for de som vil følge med, mens
-bitfactorys informasjon er ikke enkelt tilgjengelig.<p>
+bitfactorys informasjon ikke er like enkelt tilgjengelig.<p>
 
 <p>Jeg tok meg derfor litt tid for å revers-utvikle protokollen for
-Bitfactorys mobilapp for å gjøre den innsamlede informasjonen
+Bitfactorys mobilapp for å gjøre den innsamlede informasjonen mer
 tilgjengelig for flere.  Protokollen bruker HTTP og normal
-forms-notasjon for POST.  Her er API-kallene jeg har identifisert så
-langt.</p>
+forms-notasjon for POST.  Jeg lot en telefon koble seg til mitt
+trådløsnett, og satte opp tcpdump til å samle all trafikken mot
+www.bitfactory.no, og deretter tittet på alle HTTP-kallene ved hjelp
+av wireshark.  Her er API-kallene jeg har identifisert så langt.</p>
 
-<b>stasjonsDatabaseUpdateStamp</b>
+<p><b>stasjonsDatabaseUpdateStamp</b></p>
 
 <p><tt>GET http://www.bitfactory.no/Bensin/ver1.1.stasjonsDatabaseUpdateStamp</tt></p>
 
 <p>Vet ikke helt hva dette API-kallet gjør, men navnet gjør at jeg
 tror den rapporterer når listen over stasjoner sist ble endret.
-Returverdien er et tall som pr. nå er 1319145491.  Mitt gjett er at
-dette er sekunder siden 1. januar 1970 som kan konverteres til en
-leselig dato med <tt>perl -e 'print scalar(localtime(1319145491)),
-"\n"'</tt>.  Dagens verdi konverterer da til "Thu Oct 20 23:18:11
-2011".</p>
+Returverdien er et tall som pr. 2011-12-09 er 1319145491 og
+pr. 2012-05-28 er 1336420693.  Mitt gjett er at dette er sekunder
+siden 1. januar 1970 ala det en finner på Linux, som kan konverteres
+til en leselig dato med <tt>perl -e 'print
+scalar(localtime(1319145491)), "\n"'</tt>.  Den første verdien
+konverterer da til "Thu Oct 20 23:18:11 2011", mens den andre
+konverteres til "Mon May 7 21:58:13 2012".</p>
 
-<b>GetXMLDatabase</b>
+<p><b>GetXMLDatabase</b></p>
 
 <p><tt>echo password=X43uP9KS_3ZqR | POST http://www.bitfactory.no/Bensin/GetXMLDatabase.php
+<p><tt>echo password=XYZXYZXYZXYZX | POST http://www.bitfactory.no/Bensin/GetXMLDatabase.php
 
 <p>Henter ned listen med stasjoner på XML-format.  Argumentet er
 password som muligens følger med i programpakken og eventuelt
 genereres av app-en.  Nedlasting med samme passord flere ganger ser
-ikke ut til å fungere.  Selve listen ser slik ut (klippet):</p>
+ikke ut til å fungere.  Innholdet er ca. 1600 stasjoner, men manglet
+bensinstasjonen i min hjemkommune Ballangen da jeg sjekket, så den er
+ikke komplett.  Formatet på selve listen ser slik ut (klippet):</p>
 
 <pre>
 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
@@ -83,7 +92,7 @@ ikke ut til å fungere.  Selve listen ser slik ut (klippet):</p>
 &lt;/STASJONSDATABASE&gt;
 </pre>
 
-<b>GetBanStatus</b>
+<p><b>GetBanStatus</b></p>
 
 <p><tt>echo UDID=Android-123456789012345 | POST http://www.bitfactory.no/Bensin/ver1.1.GetBanStatus.php</tt></p>
 
@@ -96,7 +105,7 @@ ut til å være den unike ID-en til en mobil-enhet.  Returnverdi er 'NO'
 for alle UDID-verdier jeg har testet.  Gjetter på at alternativ
 returverdi er 'YES', men har ikke sett en slik verdi så langt.</p>
 
-<b>PriserVedStasjoner</b>
+<p><b>PriserVedStasjoner</b></p>
 
 <p><tt>echo 'stasjoner=810,364&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjoner.php</tt></p>
 
@@ -104,8 +113,8 @@ returverdi er 'YES', men har ikke sett en slik verdi så langt.</p>
 bensinstasjoner.  Den tar to POST-argumenter, "stasjoner" som er
 kommaseparert liste over stasjons-IDer (numeriske), og "day" som bør
 settes til "0" for å få ut informasjon om priser.  Usikker på hva
-tallet betyr, men mistenker det har med hvor langt tilbake i tid det
-skal hentes ut informasjon.</p>
+day-tallet betyr, men mistenker det har med hvor langt tilbake i tid
+det skal hentes ut informasjon.</p>
 
 <p>Resultatet som kommer tilbake er en kommaseparert liste for hver
 enkelt stasjon, med &lt;br&gt; som skillemarkør mellom hver stasjon.
@@ -132,7 +141,7 @@ Ikke helt sikker på hva alle feltene er.  Her er mine gjett:</p>
 deretter tre blokker for 95-oktan bensin, 98-oktan bensin og
 disel.</p>
 
-<b>PriserVedStasjon</b>
+<p><b>PriserVedStasjon</b></p>
 
 <p><tt>echo 'id=736&day=0' | POST http://www.bitfactory.no/Bensin/ver1.1.PriserVedStasjon.php</tt></p>
 
@@ -141,12 +150,12 @@ Formatet er dato på formen "08_12_2011" for 2011-12-08, og noe som ser
 ut som samme format som fra PriserVedStasjoner.  For stasjoner der
 intet er registrert returnerer den "NO RESULTS".</p>
 
-<b>AllePriser</b>
+<p><b>AllePriser</b></p>
 
 <p><tt>echo day=0 | POST http://www.bitfactory.no/Bensin/ver1.1.AllePriser.php</tt></p>
 
 <p>Returnere liste med av alle stasjoner det er registrert oppdaterte
-priser på siste 24 timer.  Returnerer "NO RESULTS" når listen er tom.
-Ellers returnerer den en dato på formen "Thursday_08_12_2011" skilt
-med &lt;br&gt; og deretter en liste med stasjoner på samme format som
-PriserVedStasjoner.</p>
+priser på siste 24 timer (eller er det fra ca. midnatt dagen før?).
+Returnerer "NO RESULTS" når listen er tom.  Ellers returnerer den en
+dato på formen "Thursday_09_12_2011" fulgt av &lt;br&gt; og deretter
+en liste med stasjoner på samme format som PriserVedStasjoner.</p>