Avatar billede mydream Nybegynder
23. december 2005 - 15:26 Der er 3 kommentarer og
1 løsning

Sende en formular med asphttp

Burde denne funktion ikke give mig et resultat i form af en km afstand?


dim Bynavn
Bynavn = "Middelfart"
dim Bynavn2
Bynavn2 = "Haderslev"

function Kaldfunktion
Set HttpObj = Server.CreateObject("AspHTTP.Conn")
HttpObj.Url = "http://www.trafikken.dk/vejafstande.asp?action=LISTE&page=dept&objno=1000005487"
HTTPObj.PostData = "By1=" & Bynavn & "&By2=" & Bynavn2 & "&BMetode=h&SB=Beregn%20afstand"
HttpObj.RequestMethod = "POST"
strResult = HttpObj.GetURL
response.Write(strResult)
SET HTTPobj = nothing
end function

Kaldfunktion

------------
for det gør den ikke. Og jeg kender intet til asphttp, så jeg kan ikke se fejlen.
Avatar billede softspot Forsker
25. december 2005 - 18:52 #1
Hvis du skal have det til at fungere skal du først og fremmest sende informationerne til den side som formularen sender til (det der stå i action på form-elementet: vejafstande.asp?action=RES&page=dept&objno=57999) og ikke formularen selv.

For det andet skal du bruge det dataformat på parametre som formularen benytter (hvilket for bynavnene er numeriske værdier fra en dropdown-boks iom. der er angivet value-attributter på de enkelte option-elementer i formularen).

Jeg kender ikke selv AspHttp-kontrollen, men mon ikke den fungerer som alle de andre kontroller der kan sende et Http-request og derfor kræver at du sætter en header der angiver at du poster en formular. Det betyder at du skal sende en requestheader (Content-type) som indeholder "application/x-www-form-urlncoded". Med MSXML2.XMLHTTP-objektet gøres det nogenlunde således:

HttpObj.AddRequestHeader "Content-Type", "application/x-www-form-urlncoded"

Når du så endelig får dit request sendt til serveren og får et svar tilbage, skal du nok også regne med at du skal til at fortolke den HTML der returneres. Såvidt jeg kan se, så er det en hel side der sendes og afstanden skal derfor findes iblandt al HTML-koden...
Avatar billede mydream Nybegynder
26. december 2005 - 00:02 #2
Hej Softspot.

Jeg havde slet ikke set det med de values. Det er nu rettet, og nu virker det efter hensigten. Jeg laver et loop der løber alle kombinationer igennem, og når jeg har fundet ud af om det er lovligt, så sætter jeg den til at gemme informationerne i min egen database.

Desværre vil man jo så pga. de values ikke kunne søge direkte i deres database i stedet for at gemme i sin egen, med mindre man laver en noget mindre tabel over numrene i forhold til postnumrene, så man ved hvad man skal skrive i feltet.

Vil du ikke lægge et svar?
Avatar billede softspot Forsker
26. december 2005 - 00:10 #3
Ja, det kommer der... :)
Avatar billede softspot Forsker
30. december 2005 - 14:09 #4
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester