Gebruik deze functie (die van de XMLHTTP object gebruik maakt):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| ' ==============================================
' URL OPENEN EN LEZEN
' ==============================================
Public Function ReadFileRemote(URL As String) As String
Dim MaxHTTPDelay As Integer
MaxHTTPDelay = 5
Dim xml As Object
Set xml = CreateObject("MSXML2.ServerXMLHTTP")
xml.Open "GET", "http://" & URL, True
Call xml.Send
On Error Resume Next
If xml.ReadyState <> 4 Then
xml.waitForResponse MaxHTTPDelay
End If
ReadFileRemote = "FOUT: "
If Err.Number <> 0 Then
Call WriteLogEntry("ExtscriptError: " & Err.Number)
Err.Number = 500
Else
If xml.ReadyState <> 4 Then
ReadFileRemote = ReadFileRemote & _
"Time-out (" & MaxHTTPDelay & " sec. gewacht)"
ElseIf xml.Status <> 200 Then
ReadFileRemote = ReadFileRemote & "HTTP " & xml.Status
Call WriteLogEntry(xml.ResponseText & xml.Status)
Else
ReadFileRemote = xml.ResponseText
End If
End If
Err.Clear
Set xml = Nothing
End Function
' HTML in textbox:
Dim a As String
a = "www.blbalbla/index.html"
Text1.Text = ReadFileRemote(a) |
De WriteLogEntry dingen kan je weghalen (of laten zitten als je zo'n functie hebt om log entries te schrijven)
EDIT:
ik zie dat je ook POST functionaliteit wilt.
Vervang:
Public Function ReadFileRemote(URL As String) As String
door:
Public Function ReadFileRemote(URL As String, Optional PostData As String) As String
en vervang:
code:
1
2
| xml.Open "GET", "http://" & URL, True
Call xml.Send |
door:
code:
1
2
3
4
5
6
7
| If Len(PostData) = 0 Then
xml.Open "GET", "http://" & URL, False
Call xml.Send
Else
xml.Open "POST", "http://" & URL, True
Call xml.Send(PostData)
End If |
note: de toevoeging met POST gegevens heb ik nog niet getest, want ik heb VB nu niet geinstalleerd, maar dit moet denk ik wel werken.