Avatar billede agerled Nybegynder
14. januar 2005 - 10:17 Der er 15 kommentarer og
1 løsning

Hjælp med kode fra ASP til VB.NET socket.TCP

Hej.

Er der nogen der kan vise mig hvordan jeg laver følgende ASP-kode om til VB.NET i en windows form....?

Sub SendChargedSMS(msg,recipient,sapid,billingcode,smsc)
  gethttp "s1.tge.dk:8080","/ComSMS/Sender?msg=" & Server.URLEncode(replace(msg,vbnewline,vbLf)) & "&rec=" & recipient & "&sapid=" & sapid & "&bc=" & billingcode & "&smsc=" & smsc,returnxml
end Sub

' Intern funktion til at lave et http get kald
Sub gethttp(host,url,returnxml)
Dim objSocket
Set objSocket = Server.CreateObject("Socket.TCP")
objSocket.Host = host
strRequest = "GET " & url & " HTTP/1.0" & VbCrLf
strRequest = strRequest & "Host:" & host & VbCrLf
objSocket.Open
objSocket.SendLine(strRequest)
objSocket.WaitForDisconnect
tmpBuffer = objSocket.Buffer
Pos = InStr(tmpbuffer, VbCrLF&VbCrLf)
tmpbuffer = Mid(tmpbuffer, pos+1)
returnxml = tmpbuffer
objSocket.Close
end sub
Avatar billede arne_v Ekspert
14. januar 2005 - 10:26 #1
Prøv og kig på dette fragment:

        Dim req As HttpWebRequest = CType(WebRequest.Create("http://localhost/select.asp"), HttpWebRequest)
        Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
        Dim stmrdr As StreamReader = New StreamReader(resp.GetResponseStream)
        Dim html = stmrdr.ReadToEnd
        stmrdr.Close
        resp.Close
Avatar billede agerled Nybegynder
14. januar 2005 - 10:47 #2
skal jeg så putte den kode ind i en function og kalde den med URL'en som parameter eller hvordan???
Avatar billede arne_v Ekspert
14. januar 2005 - 10:50 #3
Ja. Den kode sender en GET request til en URL og læser responsen.
Avatar billede arne_v Ekspert
14. januar 2005 - 10:52 #4
Du skal også bruge HttpUtility.UrlEncode til at encode med
Avatar billede agerled Nybegynder
14. januar 2005 - 10:56 #5
ok. hvilket namespace skal jeg importe for at bruge funktionerne?
Avatar billede agerled Nybegynder
14. januar 2005 - 10:58 #6
den skriver nemlig bl.a. at HttpWebRequest ikke er defineret...?
Avatar billede arne_v Ekspert
14. januar 2005 - 11:03 #7
System.Web
Avatar billede agerled Nybegynder
14. januar 2005 - 11:07 #8
Ja jeg jeg tænkte nok det var den. Hvordan kan det så være at den stadig skriver at HttpWebRequest , HttpWebResponse , StreamReader  er undefined?
Avatar billede arne_v Ekspert
14. januar 2005 - 11:12 #9
StreamReader må være i System.IO
Avatar billede arne_v Ekspert
14. januar 2005 - 11:12 #10
Prøv også lige at hive System.Net ind
Avatar billede agerled Nybegynder
14. januar 2005 - 11:17 #11
ja det er fint. så er den del i orden.

jeg har nu:

Public Function SendSMS()

        Dim url As String = "s1.tge.dk:8080/ComSMS/Sender?msg=test med sms i win app&rec=xxxxxxxx&sapid=xxx&oadc=LEASY"

        Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
        Dim resp As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
        Dim stmrdr As StreamReader = New StreamReader(resp.GetResponseStream)
        Dim html = stmrdr.ReadToEnd
        stmrdr.Close()
        resp.Close()
    End Function


....men får denne fejl når jeg kalder den:
An unhandled exception of type 'System.NotSupportedException' occurred in system.dll

Additional information: Præfikset for URI'en kan ikke genkendes.

i denne linie:
    Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
Avatar billede agerled Nybegynder
14. januar 2005 - 11:18 #12
hmm skal måske have http:// med. prøver det lige..
Avatar billede agerled Nybegynder
14. januar 2005 - 11:19 #13
Yeees. Det var lige det der skulle til. Mange tak for hjælpen.


Jeg vil dog lige høre dig hvordan jeg kan læse indholdet at det xml-svar der kommer retur...?
Avatar billede arne_v Ekspert
14. januar 2005 - 11:20 #14
svaret ligget i html variablen som du må kunne parse helt normalr
Avatar billede arne_v Ekspert
14. januar 2005 - 11:20 #15
og et svar
Avatar billede arne_v Ekspert
14. januar 2005 - 11:22 #16
XmlDocument LoadXml
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