Avatar billede grabit Nybegynder
29. januar 2001 - 12:17 Der er 8 kommentarer og
1 løsning

ASP script som gateway og parse request videre.

Hvem gider at lave dette Script?
Et ASP script som virker som en gateway og parser en request videre?
dvs. http://www.host.dk/pass.asp?url=http://www.domain.dk
som gemmer denne query I en database
om muligt også en validering om URL eksistere ellers sende til en alternativ side!

Jan
Avatar billede sone Nybegynder
29. januar 2001 - 12:19 #1
For at kunne gøre det, skal du have installeret en komponent - AspHttp eller lign.
Avatar billede twm Nybegynder
29. januar 2001 - 12:38 #2
strurl = request(\"url\")
Set Con = Server.CreateObject(\"ADODB.Connection\")
con.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.Mappath(\"db.mdb\")
    Sql = \"SELECT * FROM dburl WHERE (url = \'\" & strurl & \"\')\"
    Set RS = Con.Execute(Sql)

        If (RS.BOF Or RS.EOF) Then
            SqlNy = \"INSERT INTO dburl (url, dbcount) VALUES(\'\" & strurl & \"\',\'1\')\"
            Con.Execute(SqlNy)
        End If
       
        If Not (RS.BOF Or RS.EOF) Then
        strcount = rs(\"dbcount\") + 1
            SqlUrl = \"UPDATE dburl SET dbcount=\'\" & strCount & \"\' WHERE (url = \'\" & strurl & \"\')\"
            Con.Execute(SqlUrl)
        response.redirect(strurl)
        End If
       
Avatar billede twm Nybegynder
29. januar 2001 - 12:38 #3
%>
Avatar billede twm Nybegynder
29. januar 2001 - 12:41 #4
Du skal i samme folder have en database der hedder db.mdb, med en tabel der hedder dburl
i den tabel skal der være tre rækker en primær med id + url + dbcount

How forresten der er en fejl:
<%
strurl = request(\"url\")
Set Con = Server.CreateObject(\"ADODB.Connection\")
con.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.Mappath(\"db.mdb\")
    Sql = \"SELECT * FROM dburl WHERE (url = \'\" & strurl & \"\')\"
    Set RS = Con.Execute(Sql)

        If (RS.BOF Or RS.EOF) Then
            SqlNy = \"INSERT INTO dburl (url, dbcount) VALUES(\'\" & strurl & \"\',\'1\')\"
            Con.Execute(SqlNy)
        response.redirect(strurl)
        End If
       
        If Not (RS.BOF Or RS.EOF) Then
        strcount = rs(\"dbcount\") + 1
            SqlUrl = \"UPDATE dburl SET dbcount=\'\" & strCount & \"\' WHERE (url = \'\" & strurl & \"\')\"
            Con.Execute(SqlUrl)
        response.redirect(strurl)
        End If
       
%>

Gem filen som et eller andet og kald siden med fil.asp?url=http://aldklsadklsa
Avatar billede twm Nybegynder
29. januar 2001 - 12:43 #5
Hvis den skal validere, så skal man bruge ASPHTTP som SONE skriver!
/TWM
Avatar billede grabit Nybegynder
29. januar 2001 - 13:26 #6
Det funker twm! Du har løst opgaven lige på nær en validering om URL eksistere ellers sende til en alternativ side! Men jeg giver dig point alligevel og håber du evt. eftersender.
Har du et arbejde eller kan du hyres som freelancer?
Avatar billede twm Nybegynder
30. januar 2001 - 17:37 #7
Jeg har både et arbejde + jeg læser på Ingeniør Højskolen, men jeg er da altid frisk på noget freelance, hvis det er interresant! :)
twm@twm.dk

Mvh
TWM
Avatar billede grabit Nybegynder
31. januar 2001 - 00:31 #8
Hvordan kan det være at dit script laver om på efterfølgende query string?

http://tracker.tradedoubler.com/tracker.asp?pid=6&code=337374&URL=http://www.speednames.com/search.asp?brand=speednames&lang=dk

bliver til:

http://tracker.tradedoubler.com/tracker.asp?pid=6,%20http://www.speednames.com/search.asp?brand=speednames

Her er hvad der der sker med string!
&code=337374&URL=
bliver i midten lavet om til
,%20 og
&lang=dk i slutningen forsvinder!

Jeg kan opretter et nyt spørgsmål og overføre 60 points til den som svare!
Avatar billede twm Nybegynder
31. januar 2001 - 11:25 #9
Det script jeg lavede, tog den querystring der hed URL, skrev den ned i en database, og hvis den var der i forvejen ville den lægge en til. Problemet er hvis der optræder &-tegn:

Men hvis jeg forstår det ret, så kører du den således:
dintracker.asp?url=http://tracker.tradedoubler.com/tracker.asp?pid=6&code=337374&URL=http://www.speednames.com/search.asp?brand=speednames&lang=dk

det skal ændres til:
dintracker.asp?http://tracker.tradedoubler.com/tracker.asp?pid=6&code=337374&URL=http://www.speednames.com/search.asp?brand=speednames&lang=dk

dvs uden url, nu skriver du blot url\'en efter ?.

derefter ændrer vi koden til:
<%
strurl = request.querystring
Set Con = Server.CreateObject(\"ADODB.Connection\")
con.Open \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.Mappath(\"db.mdb\")
    Sql = \"SELECT * FROM dburl WHERE (url = \'\" & strurl & \"\')\"
    Set RS = Con.Execute(Sql)

        If (RS.BOF Or RS.EOF) Then
            SqlNy = \"INSERT INTO dburl (url, dbcount) VALUES(\'\" & strurl & \"\',\'1\')\"
            Con.Execute(SqlNy)
        response.redirect(strurl)
        End If
       
        If Not (RS.BOF Or RS.EOF) Then
        strcount = rs(\"dbcount\") + 1
            SqlUrl = \"UPDATE dburl SET dbcount=\'\" & strCount & \"\' WHERE (url = \'\" & strurl & \"\')\"
            Con.Execute(SqlUrl)
        response.redirect(strurl)
        End If
       
%>
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