Hallo zusammen,
stehe seit Tagen vor einem Problem, was ich mir nicht erklären kann.
Lade diverse Daten aus dem Internet herunter. Dazu gibt es ein Hauptprogramm auf meinem Rechner.
Bin ich im Urlaub oder verhindert, gibt es eine abgespeckte Programmversion, welche sich nur um den Datendownload kümmert.
Dieses Programm läuft dann auf einem Fremdrechner (Sohn oder Freund).
Nun habe ich eine Webseite, welche wohl besondere Freigaben benötigt.
Dim WebAdresse = "https://www.westlotto.de/gluecksspirale/gewinnzahlen/gewinnzahlen.html?datum=" & Ziehungsdatum
Mit folgender Function wird der Downloadstring ermittelt:
Das Hauptprogramm liefert keinen Fehler, wobei die Lightversion in Zeile 77 folgenden Fehler anzeigt:
System.Net.WebException: Der Remoteserver hat einen Fehler zurückgegeben (403) Unzulässig.
Beide Programme werden bei mir auf dem Rechner mit Admin gestartet. Haben gleiche Ausnahmen bei Antivir.
Nächstes Problem sehe ich bei dem Browser. Kann nicht davon ausgehen, dass der Fremdrechner auch Firefox benutzt.
stehe seit Tagen vor einem Problem, was ich mir nicht erklären kann.
Lade diverse Daten aus dem Internet herunter. Dazu gibt es ein Hauptprogramm auf meinem Rechner.
Bin ich im Urlaub oder verhindert, gibt es eine abgespeckte Programmversion, welche sich nur um den Datendownload kümmert.
Dieses Programm läuft dann auf einem Fremdrechner (Sohn oder Freund).
Nun habe ich eine Webseite, welche wohl besondere Freigaben benötigt.
Dim WebAdresse = "https://www.westlotto.de/gluecksspirale/gewinnzahlen/gewinnzahlen.html?datum=" & Ziehungsdatum
Mit folgender Function wird der Downloadstring ermittelt:
VB.NET-Quellcode
- Private Function Webseite(ByVal WebLink As String, Optional Pingen As Boolean = True, Optional CookieFreigabe As Boolean = False) As String
- Me.InternetverbindungOK = False
- If Not My.Computer.Network.IsAvailable Then
- Return Nothing
- Exit Function
- End If
- Dim Webadresse As String = WebLink
- Dim PingLink As String = Nothing
- Dim Uri As New Uri(WebLink)
- Dim hReq As HttpWebRequest = Nothing
- Dim hRes As HttpWebResponse = Nothing
- Dim WebStream As Stream = Nothing
- Dim WebStreamReader As StreamReader = Nothing
- Dim WebPage As String = Nothing
- Dim PosSuchen As Integer = 0
- If Pingen Then
- Try
- Me.SuchPos = WebLink.IndexOf("www")
- PosSuchen = WebLink.IndexOf("https://")
- If Not Me.SuchPos = -1 Then ' enthält www im Link
- Me.SuchPos = WebLink.IndexOf(".")
- Me.DifLaenge = WebLink.Length - Me.SuchPos - 1
- PingLink = Strings.Right(WebLink, Me.DifLaenge)
- Me.SuchPos = PingLink.IndexOf("/")
- PingLink = Strings.Left(PingLink, Me.SuchPos)
- If PosSuchen = -1 Then
- If WebLink.StartsWith("http") Then PingLink.Replace("http://", "")
- Else
- If WebLink.StartsWith("https") Then PingLink.Replace("https://", "")
- End If
- Else ' enthält kein wwww
- If Not PosSuchen = -1 Then
- WebLink = WebLink.Replace("https://", "")
- Me.SuchPos = WebLink.IndexOf("/")
- PingLink = Strings.Left(WebLink, Me.SuchPos)
- End If
- End If
- Me.SuchPos = -1
- Me.DifLaenge = 0
- If Not My.Computer.Network.Ping(PingLink, 1000) Then
- Me.Webseite(WebLink, False)
- End If
- Catch ex As Exception
- Me.SuchPos = -1
- Me.DifLaenge = 0
- Return Nothing
- Exit Function
- End Try
- End If 'Pingen
- hReq = DirectCast(HttpWebRequest.Create(Uri), HttpWebRequest)
- With hReq
- .Timeout = 10000
- .Method = "GET"
- End With
- Try
- If CookieFreigabe Then
- hReq.CookieContainer = New CookieContainer
- hReq.UserAgent = "Firefox/58.0.2"
- hReq.ServicePoint.Expect100Continue = False
- End If
- hRes = CType(hReq.GetResponse, HttpWebResponse)
- hRes = DirectCast(hReq.GetResponse, HttpWebResponse)
- Catch ex As TimeoutException
- hRes.Close()
- hRes = Nothing
- Return Nothing
- Exit Function
- End Try
- Try
- WebStream = hRes.GetResponseStream
- WebStream.ReadTimeout = 3000
- WebStreamReader = New StreamReader(WebStream)
- WebPage = WebStreamReader.ReadToEnd
- WebStream.Close()
- WebStream = Nothing
- WebStreamReader.Close()
- WebStreamReader = Nothing
- hReq = Nothing
- hRes = Nothing
- Me.InternetverbindungOK = True
- Return WebPage
- Catch ex As Exception
- Me.InternetverbindungOK = False
- Return Nothing
- End Try
- End Function
Das Hauptprogramm liefert keinen Fehler, wobei die Lightversion in Zeile 77 folgenden Fehler anzeigt:
System.Net.WebException: Der Remoteserver hat einen Fehler zurückgegeben (403) Unzulässig.
Beide Programme werden bei mir auf dem Rechner mit Admin gestartet. Haben gleiche Ausnahmen bei Antivir.
Nächstes Problem sehe ich bei dem Browser. Kann nicht davon ausgehen, dass der Fremdrechner auch Firefox benutzt.
Gruß Markus