Permalänk
Medlem

Koppling mot databas

Ok, det är ett svart hål i min hjärna där informationen om databaser på webben skulle ha funnits och detta är just den kunskapen jag behöver just nu...

Idén till slut ska vara en androidwiget som plockar upp ett internnummer som ringer på telefonen. Tex som eniro, dock ett 4-siffrigt nummer som inte finns på Eniro.

Det går att via Webben söka detta nummer i en vanlig sökruta och sedan få fram vem som har numret, ingen inlogg eller liknande behövs.

Har gjort en kopia av sidans kod (som jag antar genereras när den laddas). Där har jag sedan kunnat köra sidan lokalt och vid sökning få fram informationen som jag vill ha, dock på företagets server, dvs, svaret returneras inte lokalt utan vidarebefordras till webbsidan.

Sidor som ingår i studien för detta projekt är följande:
http://www.nav.mah.se/person/
http://www.hh.se/omwebbplatsen/sokpa...ersonalkatalog
http://www.chalmers.se/insidan/SV/person_search
http://www.kth.se/om/kontakt/sok-anstalld

Om någon vänlig själ skulle kunna knuffa mig i rätt riktning så vore jag otroligt tacksam. Är alltså inte ute efter en lösning direkt, utan mer hur jag ska tänka i min approach till lösningen att hämta data ur en databas. (Klart att lösningar är välkommna också. )

Tack!

Permalänk
Medlem

Förstår tyvärr inte vad du är ute efter. Vad är det du vill göra och vad är det du vill ha hjälp med?

Antingen är jag väldigt trött (mycket möjligt) eller så är du lite otydlig Troligtvis en kombination.

Visa signatur

He who hasn't hacked assembly language as a youth has no heart. He who does so as an adult has no brain.
~John Moore

Permalänk
Medlem
Skrivet av neila:

Ok, det är ett svart hål i min hjärna där informationen om databaser på webben skulle ha funnits och detta är just den kunskapen jag behöver just nu...

Idén till slut ska vara en androidwiget som plockar upp ett internnummer som ringer på telefonen. Tex som eniro, dock ett 4-siffrigt nummer som inte finns på Eniro.

Det går att via Webben söka detta nummer i en vanlig sökruta och sedan få fram vem som har numret, ingen inlogg eller liknande behövs.

Har gjort en kopia av sidans kod (som jag antar genereras när den laddas). Där har jag sedan kunnat köra sidan lokalt och vid sökning få fram informationen som jag vill ha, dock på företagets server, dvs, svaret returneras inte lokalt utan vidarebefordras till webbsidan.

Sidor som ingår i studien för detta projekt är följande:
http://www.nav.mah.se/person/
http://www.hh.se/omwebbplatsen/sokpa...ersonalkatalog
http://www.chalmers.se/insidan/SV/person_search
http://www.kth.se/om/kontakt/sok-anstalld

Om någon vänlig själ skulle kunna knuffa mig i rätt riktning så vore jag otroligt tacksam. Är alltså inte ute efter en lösning direkt, utan mer hur jag ska tänka i min approach till lösningen att hämta data ur en databas. (Klart att lösningar är välkommna också. )

Tack!

Håller med Anaii där, är lite svårt att förstå hur du menar men tror jag förstår. Du vill skapa en widget som är kopplad till en databas med namn och nummer och när någon av dem i databasen ringer så ska ägarens namn till numret visas. Sen så ska man även via widgeten kunna söka reda på ett nummer och få reda på vem som är ägaren.

Har själv ingen Android men antar att det bör fungera liknande som webben. För att det ska funka så bör du nog ha tillgång till databasen, dvs. sereveradress, användarnamn, lösenord (om det nu är lösenordsskyddat vilket jag tror) och tabellen som informationen ligger i.

När man har de uppgifterna så ska det "bara" vara att koda så att när man söker på ett nummer så ansluter den till databasen, loopar igenom den och tar ut namnet till den som har lika nummer som du sökte på och skriver ut det till skärmen.

Sen hur den ska fånga upp det inkommande samtalets nummer på en Android vet jag dock inte så mycket om men det bör gå att fixa på nått sätt.

Visa signatur

Stationär: EVGA X299 Micro | Intel Core i7 7740X | GeForce GTX 1060 6GB | Kingston HyperX 16GB 2666 MHz | WD Blue 3D NAND SSD 500GB
Tillbehör: 3 x LG 21,5" | Corsair Vengeance K65 | Deathadder | Astro A40
Bärbart: MacBook Pro 13" -10 | iPad 2 16Gb

.: Citera för svar :.

Permalänk
Medlem

Tack för svaren!

Skrivet av Anaii:

Förstår tyvärr inte vad du är ute efter. Vad är det du vill göra och vad är det du vill ha hjälp med?

Antingen är jag väldigt trött (mycket möjligt) eller så är du lite otydlig Troligtvis en kombination.

Nä, du har rätt, inte helt lätt att vara tydlig när man inte riktigt är säker på vad man är ute efter själv.

Skrivet av LillOgi:

Håller med Anaii där, är lite svårt att förstå hur du menar men tror jag förstår. Du vill skapa en widget som är kopplad till en databas med namn och nummer och när någon av dem i databasen ringer så ska ägarens namn till numret visas. Sen så ska man även via widgeten kunna söka reda på ett nummer och få reda på vem som är ägaren.

Har själv ingen Android men antar att det bör fungera liknande som webben. För att det ska funka så bör du nog ha tillgång till databasen, dvs. sereveradress, användarnamn, lösenord (om det nu är lösenordsskyddat vilket jag tror) och tabellen som informationen ligger i.

När man har de uppgifterna så ska det "bara" vara att koda så att när man söker på ett nummer så ansluter den till databasen, loopar igenom den och tar ut namnet till den som har lika nummer som du sökte på och skriver ut det till skärmen.

Sen hur den ska fånga upp det inkommande samtalets nummer på en Android vet jag dock inte så mycket om men det bör gå att fixa på nått sätt.

Du förstår mig alldeles riktigt! Själva android biten tror jag inte ska vara några problem väl jag kommer så långt. Det jag vill i det första läget för att kontrollera funktionen och hur jag får ut den data som ska visas.

För att klargöra, är det 'alltid' så att man behöver serveradress, användare och lösenord för att läsa ur en databas eller kan man göra någon form av reverse engineering få att få ut serveradress?

Om man inte kan koppla direkt mot databasen (vilket jag nu inser att man ju förmodligen inte kan), skulle man kunna, gärna med hjälp av javascript, skicka en förfrågan till webbplatsen, exempelvis, http://www.kth.se/om/kontakt/sok-anstalld, leta upp fältet som har id="SearchUserForm.phone" klistra in telenumret 6000, och sedan hämta svaret som dyker upp när man sökt. Dvs att hela sökningen görs steg för steg som om man själv klickar sig igenom men att man 'tror' att det sker lokalt. Är ni med nu? Borde ju ta en 7,5 poängare i felbeskrivning känner jag här...

Permalänk
Medlem

Du behöver inte skicka någonting, allt du behöver göra är att hämta den här sidan:
http://www.kth.se/om/kontakt/sok-anstalld?givenName=&familyNa... siffror här>&title=&email=&_eventId_search=S%C3%B6k

Sen får du hämta ut resultatet med någon HTML-parser. Selektorn blir väll inte så jättesnygg, men eftersom ett telefonnummer förhoppningsvis är unikt kan du ta följande väg:
sortable-table-users > tbody > tr > td[1,2]
Den första och andra TDn innehåller för- och efternamn. Finns det flera personer med samma nummer så kommer du inte kunna välja ut tr-elementet rakt av, eftersom det då finns flera.

Visa signatur

Citera eller nämn gärna mig (@ToJa92) om du svarar på något jag skrivit.
Uppskattar du eller blir hjälpt av ett inlägg jag skrivit är jag tacksam om du gillar det.

Permalänk
Medlem
Skrivet av neila:

Om man inte kan koppla direkt mot databasen (vilket jag nu inser att man ju förmodligen inte kan), skulle man kunna, gärna med hjälp av javascript, skicka en förfrågan till webbplatsen, exempelvis, http://www.kth.se/om/kontakt/sok-anstalld, leta upp fältet som har id="SearchUserForm.phone" klistra in telenumret 6000, och sedan hämta svaret som dyker upp när man sökt. Dvs att hela sökningen görs steg för steg som om man själv klickar sig igenom men att man 'tror' att det sker lokalt. Är ni med nu? Borde ju ta en 7,5 poängare i felbeskrivning känner jag här...

Eftersom du inte administrerar databasen och antagligen inte har ett avtal med dem som har databasen om att du ska få tillgång till den så får du nog använda websidan så som du beskrev.

När du söker på numret 6000 på kth får du följande address:

Klistrar du in den i en webläsare ser du att den direkt hamnar på sökresultatet. Det är alltså "&phone=6000" i urlen som gör själva sökningen. Detta kan du använda för att söka genom att skicka den urlen fast med olika nummer då. Sedan får du fånga upp svaret som web servern skickar tillbaka.

KTH sidan returnerar i sitt svar följande tabell för &phone=6000:

<table id="sortable-table-users" class="sortable"> <thead> <tr> <th class="header">Förnamn</th> <th class="header">Efternamn</th> <th class="header">E-post</th> <th class="header">Telefon</th> <th class="header">Titel</th> </tr> </thead> <tbody> <tr class="odd"> <td> <a href="/om/kontakt/sok-anstalld/?_flowId=user-flow&kthId=u1sgwn4i">Ardi</a> </td> <td> <a href="/om/kontakt/sok-anstalld/?_flowId=user-flow&kthId=u1sgwn4i">Seidla</a> </td> <td>ardi@md.kth.se</td> <td> 087906000 </td> <td> Industridoktorand </td> </tr> </tbody> </table>

De andra sidorna borde ha motsvarande funktion

Visa signatur

He who hasn't hacked assembly language as a youth has no heart. He who does so as an adult has no brain.
~John Moore

Permalänk
Medlem
Skrivet av ToJa92:

Du behöver inte skicka någonting, allt du behöver göra är att hämta den här sidan:
http://www.kth.se/om/kontakt/sok-anstalld?givenName=&familyNa... siffror här>&title=&email=&_eventId_search=S%C3%B6k

Sen får du hämta ut resultatet med någon HTML-parser. Selektorn blir väll inte så jättesnygg, men eftersom ett telefonnummer förhoppningsvis är unikt kan du ta följande väg:
sortable-table-users > tbody > tr > td[1,2]
Den första och andra TDn innehåller för- och efternamn. Finns det flera personer med samma nummer så kommer du inte kunna välja ut tr-elementet rakt av, eftersom det då finns flera.

Skrivet av Anaii:

Eftersom du inte administrerar databasen och antagligen inte har ett avtal med dem som har databasen om att du ska få tillgång till den så får du nog använda websidan så som du beskrev.

När du söker på numret 6000 på kth får du följande address:

Klistrar du in den i en webläsare ser du att den direkt hamnar på sökresultatet. Det är alltså "&phone=6000" i urlen som gör själva sökningen. Detta kan du använda för att söka genom att skicka den urlen fast med olika nummer då. Sedan får du fånga upp svaret som web servern skickar tillbaka.

KTH sidan returnerar i sitt svar följande tabell för &phone=6000:

<table id="sortable-table-users" class="sortable"> <thead> <tr> <th class="header">Förnamn</th> <th class="header">Efternamn</th> <th class="header">E-post</th> <th class="header">Telefon</th> <th class="header">Titel</th> </tr> </thead> <tbody> <tr class="odd"> <td> <a href="/om/kontakt/sok-anstalld/?_flowId=user-flow&kthId=u1sgwn4i">Ardi</a> </td> <td> <a href="/om/kontakt/sok-anstalld/?_flowId=user-flow&kthId=u1sgwn4i">Seidla</a> </td> <td>ardi@md.kth.se</td> <td> 087906000 </td> <td> Industridoktorand </td> </tr> </tbody> </table>

De andra sidorna borde ha motsvarande funktion

Exakt vad jag är ute efter, tack så mycket! Några förslag på hur man skulle kunna lösa motsvarande på
http://www.hh.se/omwebbplatsen/sokpawebbplatsen/personalkatal...
och
http://www.chalmers.se/insidan/SV/person_search

Kan inte se samma rutin med dessa, möjligtvis några förslag på liknande tillvägagångssätt?

Permalänk
Medlem
Skrivet av neila:

Exakt vad jag är ute efter, tack så mycket! Några förslag på hur man skulle kunna lösa motsvarande på
http://www.hh.se/omwebbplatsen/sokpawebbplatsen/personalkatal...
och
http://www.chalmers.se/insidan/SV/person_search

Kan inte se samma rutin med dessa, möjligtvis några förslag på liknande tillvägagångssätt?

Den första har "%3D6000" i sin url. Sökte på 6000. Så den borde kunna funka med samma. Hur svaret ser ut kan du se med Firefox och pluginet Firebug.

Chalmers verkar lite värre. Möjligt att de kör ajax.

Visa signatur

He who hasn't hacked assembly language as a youth has no heart. He who does so as an adult has no brain.
~John Moore

Permalänk
Medlem
Skrivet av Anaii:

Den första har "%3D6000" i sin url. Sökte på 6000. Så den borde kunna funka med samma. Hur svaret ser ut kan du se med Firefox och pluginet Firebug.

Chalmers verkar lite värre. Möjligt att de kör ajax.

Firebug var ett kanontips!

Attans, och om det är Ajax är det kört?

Skickades från m.sweclockers.com

Permalänk
Skrivet av neila:

Firebug var ett kanontips!

Attans, och om det är Ajax är det kört?

Skickades från m.sweclockers.com

Närå, men du måste luska ut vad som anropas med ajax från deras kod.

Tänk på att om, eller snarare när någon gör en förändring på någon av dessa sidor kommer din widget förmodligen sluta fungera tills att du också uppdaterat.

Permalänk
Medlem
Skrivet av neila:

Tack för svaren!

Nä, du har rätt, inte helt lätt att vara tydlig när man inte riktigt är säker på vad man är ute efter själv.

Du förstår mig alldeles riktigt! Själva android biten tror jag inte ska vara några problem väl jag kommer så långt. Det jag vill i det första läget för att kontrollera funktionen och hur jag får ut den data som ska visas.

För att klargöra, är det 'alltid' så att man behöver serveradress, användare och lösenord för att läsa ur en databas eller kan man göra någon form av reverse engineering få att få ut serveradress?

Om man inte kan koppla direkt mot databasen (vilket jag nu inser att man ju förmodligen inte kan), skulle man kunna, gärna med hjälp av javascript, skicka en förfrågan till webbplatsen, exempelvis, http://www.kth.se/om/kontakt/sok-anstalld, leta upp fältet som har id="SearchUserForm.phone" klistra in telenumret 6000, och sedan hämta svaret som dyker upp när man sökt. Dvs att hela sökningen görs steg för steg som om man själv klickar sig igenom men att man 'tror' att det sker lokalt. Är ni med nu? Borde ju ta en 7,5 poängare i felbeskrivning känner jag här...

Skrivet av ToJa92:

Du behöver inte skicka någonting, allt du behöver göra är att hämta den här sidan:
http://www.kth.se/om/kontakt/sok-anstalld?givenName=&familyNa... siffror här>&title=&email=&_eventId_search=S%C3%B6k

Sen får du hämta ut resultatet med någon HTML-parser. Selektorn blir väll inte så jättesnygg, men eftersom ett telefonnummer förhoppningsvis är unikt kan du ta följande väg:
sortable-table-users > tbody > tr > td[1,2]
Den första och andra TDn innehåller för- och efternamn. Finns det flera personer med samma nummer så kommer du inte kunna välja ut tr-elementet rakt av, eftersom det då finns flera.

Skrivet av Anaii:

Eftersom du inte administrerar databasen och antagligen inte har ett avtal med dem som har databasen om att du ska få tillgång till den så får du nog använda websidan så som du beskrev.

När du söker på numret 6000 på kth får du följande address:

Klistrar du in den i en webläsare ser du att den direkt hamnar på sökresultatet. Det är alltså "&phone=6000" i urlen som gör själva sökningen. Detta kan du använda för att söka genom att skicka den urlen fast med olika nummer då. Sedan får du fånga upp svaret som web servern skickar tillbaka.

KTH sidan returnerar i sitt svar följande tabell för &phone=6000:

<table id="sortable-table-users" class="sortable"> <thead> <tr> <th class="header">Förnamn</th> <th class="header">Efternamn</th> <th class="header">E-post</th> <th class="header">Telefon</th> <th class="header">Titel</th> </tr> </thead> <tbody> <tr class="odd"> <td> <a href="/om/kontakt/sok-anstalld/?_flowId=user-flow&kthId=u1sgwn4i">Ardi</a> </td> <td> <a href="/om/kontakt/sok-anstalld/?_flowId=user-flow&kthId=u1sgwn4i">Seidla</a> </td> <td>ardi@md.kth.se</td> <td> 087906000 </td> <td> Industridoktorand </td> </tr> </tbody> </table>

De andra sidorna borde ha motsvarande funktion

Ja sådär kan man också göra! Kul och se om du får till det!

Visa signatur

Stationär: EVGA X299 Micro | Intel Core i7 7740X | GeForce GTX 1060 6GB | Kingston HyperX 16GB 2666 MHz | WD Blue 3D NAND SSD 500GB
Tillbehör: 3 x LG 21,5" | Corsair Vengeance K65 | Deathadder | Astro A40
Bärbart: MacBook Pro 13" -10 | iPad 2 16Gb

.: Citera för svar :.