Avatar billede locturian Nybegynder
25. august 2004 - 15:17 Der er 3 kommentarer og
1 løsning

Parse html (online) via winsock - Problem

Hej,

Jeg sidder og skal parse noget tekst fra en hjemmeside via winsock - Faktisk, er output på siden tabulator sepereret text, så har ikke ligefrem brug for html delen... Her er hvad jeg har af kode indtil videre...

Public Sub Command1_Click()
Winsock1.RemoteHost = Text1.Text
Winsock1.RemotePort = 80
Winsock1.Connect
End Sub

Public Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim X As String
Winsock1.GetData X
Text2 = Text2 & X
End Sub


Problemet er bare, at den melder fejl ved Winsock1.RemoteHost - "Method or datamember not found"..

Hjælp eller alternativer søges :)
Avatar billede sjh Nybegynder
25. august 2004 - 18:15 #1
sikkert fordi du har lavet din winsock som array..

Winsock1(array nummer).....

Winsock1(0).RemoteHost = Text1.Text
Winsock1(0).RemotePort = 80
Winsock1(0).Connect
Avatar billede locturian Nybegynder
26. august 2004 - 08:18 #2
Den melder ikke fejl, nu hvor jeg har sat et index på, men nu hænger den bare - Der sker ikke en dyt, ud over at jeg bliver nød til at "force" lukke programmet :(
Avatar billede locturian Nybegynder
26. august 2004 - 08:21 #3
Hele koden ser således ud nu:

Public Sub Command1_Click()
Winsock1(0).RemoteHost = Text1.Text
Winsock1(0).RemotePort = 80
Winsock1(0).Connect
End Sub

Public Sub Winsock1_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim X As String
Winsock1(0).GetData X
Text2.Text = X
End Sub
Avatar billede sjh Nybegynder
26. august 2004 - 17:31 #4
Nop.. du skal jo sende noget til server..

Jeg har lavet en til dig.. med en winsock uden array

'-------------------------- Form1 --------------------------
Option Explicit

Private Sub Command1_Click()
  With Winsock1 '<- Winsock
      .RemoteHost = "www.eksperten.dk"
      .RemotePort = 80
      .Connect
  End With
End Sub

Private Sub Winsock1_Close()
  With Winsock1 '<- Winsock
      .Close
      Do Until .State = sckClosed
        DoEvents
      Loop
  End With
End Sub

Private Sub Winsock1_Connect()
Dim strData As String
  With Winsock1 '<- Winsock
      '------> www.eksperten.dk/spm/532936
      strData = strData & "GET /spm/532936 HTTP/1.1" & vbCrLf
      strData = strData & "Host: " & .RemoteHost & vbCrLf
      .SendData strData & vbCrLf
  End With
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
  With Winsock1 '<- Winsock
      Call .GetData(strData, vbString, bytesTotal)
      Text1.Text = (Text1.Text & strData)
  End With
End Sub
'-------------------------- Form1 --------------------------
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