Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Nach gesendeter PostData auf Server-Antwort warten

Mitglied: visualbasic

visualbasic (Level 1) - Jetzt verbinden

25.09.2012, aktualisiert 05.10.2012, 3064 Aufrufe, 6 Kommentare

Zum Glück habe ich wenigstens das Postdata schon und muss nur noch das mit dem Warten hinbekommen

Hallo
Ich habe eine PostData erstellt:

01.
Dim Request As HttpWebRequest = CType(WebRequest.Create("*********************window.html?bk=79139b87d1056cedb0a4aff6d5d5da51"), HttpWebRequest) 
02.
        Request.Method = "POST" 
03.
        Request.ContentType = "application/x-www-form-urlencoded" 
04.
        Dim Post As String = "caller=" & number 
05.
        Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post) 
06.
        Request.ContentLength = byteArray.Length 
07.
        Dim DataStream As Stream = Request.GetRequestStream() 
08.
        DataStream.Write(byteArray, 0, byteArray.Length) 
09.
        DataStream.Close() 
10.
        Dim Response As HttpWebResponse = Request.GetResponse() 
11.
        DataStream = Response.GetResponseStream()
Jetzt möchte ich auf die Server-Anwort warten.

Weil mit
01.
Dim Response As HttpWebResponse = Request.GetResponse() 
02.
    DataStream = Response.GetResponseStream() 
03.
    Dim reader As New StreamReader(DataStream) 
04.
    Dim ServerResponse As String = reader.ReadToEnd() 
05.
    reader.Close() 
06.
    DataStream.Close() 
07.
    Response.Close() 
08.
 
09.
    If InStr(ServerResponse, "Sie wurden erfolgreich angemeldet.") Then 
10.
        MessageBox.Show("Login OK") 
11.
    Else 
12.
        MessageBox.Show("Login nicht OK") 
13.
    End If
scheinst ja nicht zu gehen...

Was soll ich dann machen?
Mitglied: MonoTone
12.10.2012, aktualisiert um 09:29 Uhr
Was geht denn nicht?
Eventuell beschäftigst du dich mal mit "Debugging".
Lass dir mal den Serverresponse ausgeben.

Was du beachten solltest ist, dass nach dem Senden der Postdaten vom Webserver im Normalfall Cookies mitgesendet werden. Bei weiteren Anfragen werden diese benötigt (darüber wirst du bzw. deine Anfrage identifiziert)
Das heisst. Du logst dich ein via PostRequest und du erhältst ein (paar) Cookie(s).
Möchtest du dann Daten aus der Website auslesen, welche nur nach dem Login zur Verfügung stehen, dann machst du das via GET Request UND sendest deine empfangenen (Session) Cookies mit.

Hier mal ein Bsp:

01.
        Dim POSTData As String = "user=mono&pass=123" 
02.
        Dim strURL As String = "http://www.website.de/login.php" 
03.
        Dim Request As Net.HttpWebRequest = Net.HttpWebRequest.Create(strURL) 
04.
        Request.CookieContainer = New Net.CookieContainer() 
05.
        Request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" 
06.
        Request.Method = "POST" 
07.
        Request.AllowAutoRedirect = True 
08.
        Request.ContentType = "application/x-www-form-urlencoded" 
09.
        Dim encoding As New System.Text.ASCIIEncoding() 'Use UTF8Encoding for XML requests 
10.
        Dim postByteArray() As Byte = encoding.GetBytes(POSTData) 
11.
        Request.ContentLength = postByteArray.Length 
12.
        Dim postStream As IO.Stream = Request.GetRequestStream() 
13.
        postStream.Write(postByteArray, 0, postByteArray.Length) 
14.
        postStream.Close() 
15.
 
16.
        Dim Response As Net.HttpWebResponse = Request.GetResponse 
17.
        Response.Cookies = Request.CookieContainer.GetCookies(Request.RequestUri) 
18.
 
19.
        Dim Reader As IO.StreamReader = New IO.StreamReader(Response.GetResponseStream) 
20.
        'Ausgabe des Responses 
21.
        Debug.Print(Reader.ReadToEnd()) 
22.
        'ausgabe der Cookies 
23.
        For Each SetCookie As Net.Cookie In Response.Cookies 
24.
            Debug.Print(SetCookie.Name & ": " & SetCookie.Value) 
25.
        Next 
26.
 
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 14:14 Uhr
Zitat von MonoTone:
Was geht denn nicht?
Eventuell beschäftigst du dich mal mit "Debugging".
Die Taste F5 ist mir bekannt.

01.
>         Dim POSTData As String = "user=mono&pass=123" 
02.
>         Dim strURL As String = "http://www.website.de/login.php" 
03.
>         Dim Request As Net.HttpWebRequest = Net.HttpWebRequest.Create(strURL) 
04.
>         Request.CookieContainer = New Net.CookieContainer() 
05.
>         Request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3" 
06.
>         Request.Method = "POST" 
07.
>         Request.AllowAutoRedirect = True 
08.
>         Request.ContentType = "application/x-www-form-urlencoded" 
09.
>         Dim encoding As New System.Text.ASCIIEncoding() 'Use UTF8Encoding for XML requests 
10.
>         Dim postByteArray() As Byte = encoding.GetBytes(POSTData) 
11.
>         Request.ContentLength = postByteArray.Length 
12.
>         Dim postStream As IO.Stream = Request.GetRequestStream() 
13.
>         postStream.Write(postByteArray, 0, postByteArray.Length) 
14.
>         postStream.Close() 
15.
>  
16.
>         Dim Response As Net.HttpWebResponse = Request.GetResponse 
17.
>         Response.Cookies = Request.CookieContainer.GetCookies(Request.RequestUri) 
18.
>  
19.
>         Dim Reader As IO.StreamReader = New IO.StreamReader(Response.GetResponseStream) 
20.
>         'Ausgabe des Responses 
21.
>         Debug.Print(Reader.ReadToEnd()) 
22.
>         'ausgabe der Cookies 
23.
>         For Each SetCookie As Net.Cookie In Response.Cookies 
24.
>             Debug.Print(SetCookie.Name & ": " & SetCookie.Value) 
25.
>         Next 
26.
>  
27.
> 

Vielen Dank, an die Cookies habe ich gar nicht gedacht!
Also, der obige Code ist zum Login, oder?
Was muss ich dann jetzt machen, nachdem ich durch den Login die Cookies bekommen hab; wenn ich nochmal einen Postdata senden will (als eingeloggter USER) ?

Gruß
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 14:39 Uhr
F5 <> Debugging!
Dies ist lediglich die Taste um das Debugging zu starten.

Ich habe oben bereits beschrieben, wie du dann vorgehen musst.
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 14:43 Uhr
Zitat von MonoTone:
F5 <> Debugging!
Dies ist lediglich die Taste um das Debugging zu starten.
Ich schau dann auch nach dem Fehler / den Fehlern.

Ich habe oben bereits beschrieben, wie du dann vorgehen musst.
Ja schon, aber wie sende ich die Cookies mit?
Und wenn ich gar keinen GET, sondern ein POST machen will?

Gruß
Bitte warten ..
Mitglied: MonoTone
12.10.2012 um 14:52 Uhr
Du kannst einem Request einen Cookiecontainer mitgeben, wie in dem Beispiel ersichtlich.
Es steht alles da.
Das einzige was du noch tun musst ist selber logisch denken und die Dinge verknüpfen.
Bitte warten ..
Mitglied: visualbasic
12.10.2012 um 16:04 Uhr
Zitat von MonoTone:
Du kannst einem Request einen Cookiecontainer mitgeben, wie in dem Beispiel ersichtlich.
Es steht alles da.
Das einzige was du noch tun musst ist selber logisch denken und die Dinge verknüpfen.
Danke; ich habe jetzt rumprobiert und habs noch immer nicht - sorry

Gruß
Bitte warten ..
Ähnliche Inhalte
Exchange Server

POPcon - Wartezeitüberschreitung bei Warten auf Antwort vom Host

Frage von DKowalkeExchange Server13 Kommentare

Hallo liebes Forum, wir betreiben einen neuen Server 2016 mit Exchange 2016 und POPcon hinter einer SonicWALL Firewall. Vorerst ...

Windows Tools

Welche Monitoring Software um Kunden-Server zu warten?

gelöst Frage von minimalwerkWindows Tools15 Kommentare

Hallo liebe Community, ich suche momentan nach einer Monitoring Lösung um Kunden-Server (50% SBS2011, 20% Server2012R2, 30% Server2008R2) aus ...

Windows Server

Warten auf "Gruppenrichtlinienclient" ?

Frage von dojo2000Windows Server3 Kommentare

Hallo zusammen, ich habe mich heute von einem Windows Server 2008 R2 Standard abgemeldet. Danach bleibt auf dem Abmeldebildschirm ...

Exchange Server

Outlook 2010 aus Nebenpostfach antworten - gesendete Mails immer im Ordner des Hauptpostfaches

gelöst Frage von Anulu1Exchange Server1 Kommentar

Hallo, einige Nutzer in unsere Domäne (Exchange 2010 und Outlook 2010 - 2013) nutzen ein 2 tes Postfach. Heirzu ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 21 StundenWindows 104 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 23 StundenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...