Mit der abgebildeten Funktion "Send" möchte ich eine Webseite (Shopping Seite) quasi auslesen, um sie dann weiter zu analysieren und weiter zu verarbeiten (DAS GANZE IST LEGAL! ICH BESITZE EINEN SHOPPING ACCOUNT DEN ICH DAZU VERWENDEN DARF.). Dazu übergebe ich folgende Parameter an die Funktion:
Das zurückgelieferte Ergebnis sieht sehr Suspect aus (habe es manuell etwas strukturiert):
Erwartet habe ich die Web Seite, die ich hätte, wenn ich mich manuell an diese WebSeite angemeldet hätte.
Hat jemand von Euch eine Idee dazu, wie ich die Web Seite ganz übernehmen kann?
Im Internet habe ich bislang nichts dazu gefunden, daß mein Problem lösen könnte. Nur variationen zu meinem Code. Zugegeben mit diesem Thema hatte ich bislang nichts zu tun und tue mich hier schwer.
-Hans
Code:
Dim Result As String = String.Empty Dim ConnectURL As String = String.Empty = "<die Ziel URL für das LOGIN auf der HomePage des Zielsystems>" Dim PostData As String = String.Empty Dim CookieJar As New CookieContainer '<== wird noch nicht verwendet!!! Dim StatusCode As String = String.Empty '<== Zurückgegebener STATUS ConnectURL = "https://<Ziel Web Seite>" PostData = "kndnr=11111&name_kunde=22222&pw_kunde=33333&version=1.3&action=ADL&ghnummer=4711" Result = EasyHttp.Send(ConnectURL, CookieJar, StatusCode, PostData, "", EasyHttp.HTTPMethod.HTTP_POST, 100)
Code:
Public Shared Function Send(ByVal URL As String, _ ByRef CookieJar As CookieContainer, _ ByRef StatusCode As String, _ Optional ByVal PostData As String = "", _ Optional ByVal Proxy As String = "", _ Optional ByVal Method As HTTPMethod = HTTPMethod.HTTP_GET, _ Optional ByVal ContentType As String = "", _ Optional ByVal TimeoutSeconds As Integer = 60) Dim ResponseData As String = "" Try Dim hwrequest As Net.HttpWebRequest = Net.WebRequest.Create(URL) hwrequest.Method = Method.ToString().Substring(5) hwrequest.KeepAlive = True hwrequest.Accept = "*/*" hwrequest.AllowAutoRedirect = True hwrequest.Referer = URL '"http://myWebsite" hwrequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0 (.NET CLR 3.5.30729)" hwrequest.Timeout = TimeoutSeconds * 1000 If hwrequest.Method = "POST" Then hwrequest.ContentType = "application/x-www-form-urlencoded" Dim encoding As New System.Text.ASCIIEncoding() 'Use UTF8Encoding for XML requests Dim postByteArray() As Byte = encoding.GetBytes(PostData) hwrequest.ContentLength = postByteArray.Length Dim postStream As IO.Stream = hwrequest.GetRequestStream() postStream.Write(postByteArray, 0, postByteArray.Length) postStream.Close() End If Dim hwresponse As Net.HttpWebResponse = hwrequest.GetResponse() If hwresponse.StatusCode = Net.HttpStatusCode.OK Then Dim responseStream As IO.StreamReader = New IO.StreamReader(hwresponse.GetResponseStream()) ResponseData = responseStream.ReadToEnd() StatusCode = "StatusCode: OK" Else StatusCode = "StatusCode: notOK" End If hwresponse.Close() Catch e As Exception ResponseData = "An error occurred: " & e.Message End Try Return ResponseData End Function
HTML Code:
<html> <head><style type="text/css">.middle { vertical-align:middle; }</style></head> <body onload="document.forms[0].submit()"> <form method="post" action="/fis(bD1kZSZjPTAwMiZ0PSUyZkZJUyUyZkVTSV9HUlVFTg==)/fisesales/z_login_ids.htm"> <input type="hidden" name="kndnr" value="11111"><input type="hidden" name="name_kunde" value="22222"><input type="hidden" name="pw_kunde" value="33333"><input type="hidden" name="version" value="1.3"><input type="hidden" name="action" value="ADL"><input type="hidden" name="ghnummer" value="4711"> </form> <table border="0" width="100%" height="100%"> <tr><td align="center" class="middle">Ihre Anfrage wird bearbeitet</td></tr> </table> </body> </html>
Hat jemand von Euch eine Idee dazu, wie ich die Web Seite ganz übernehmen kann?
Im Internet habe ich bislang nichts dazu gefunden, daß mein Problem lösen könnte. Nur variationen zu meinem Code. Zugegeben mit diesem Thema hatte ich bislang nichts zu tun und tue mich hier schwer.
-Hans
Comment