Verstehe was bei Webrequests nicht...

08/29/2013 19:05 кυяαмα#1
Unzwar hab ich folgendes Problem, hier aber erstmal der Beispielcode:

PHP Code:
Imports System
Imports System
.IO
Imports System
.Net
Imports System
.Text
Namespace Examples.System.Net
    
Public Class WebRequestPostExample

        
Public Shared Sub Main()
            
' Create a request using a URL that can receive a post. 
            Dim request As WebRequest = WebRequest.Create("http://www.contoso.com/PostAccepter.aspx ")
            ' 
Set the Method property of the request to POST.
            
request.Method = "POST"
            ' Create POST data and convert it to a byte array.
            Dim postData As String = "This is a test that posts this string to a Web server."
            Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
            ' 
Set the ContentType property of the WebRequest.
            
request.ContentType = "application/x-www-form-urlencoded"
            ' Set the ContentLength property of the WebRequest.
            request.ContentLength = byteArray.Length
            ' 
Get the request stream.
            
Dim dataStream As Stream = request.GetRequestStream()
            
' Write the data to the request stream.
            dataStream.Write(byteArray, 0, byteArray.Length)
            ' 
Close the Stream object.
            
dataStream.Close()
            
' Get the response.
            Dim response As WebResponse = request.GetResponse()
            ' 
Display the status.
            
Console.WriteLine(CType(response, HttpWebResponse).StatusDescription)
            
' Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream()
            ' 
Open the stream using a StreamReader for easy access.
            
Dim reader As New StreamReader(dataStream)
            
' Read the content.
            Dim responseFromServer As String = reader.ReadToEnd()
            ' 
Display the content.
            
Console.WriteLine(responseFromServer)
            
' Clean up the streams.
            reader.Close()
            dataStream.Close()
            response.Close()
        End Sub
    End Class
End Namespace 
Ein webrequest ist hier in dem Beispiel von Microsoft so aufgebaut, das man die Seite öffnet und dann gleich den Get oder Post request abschickt

Ich möchte allerdings das er einen Browser Simuliert, im enteffekt soll er wenn er die seite öffnet nicht gleich nen request abschicken sondern erstmal den inhalt der homepage checken werte auslesen und dann erst das request abschicken.

Die Seite darf sich aber nicht aktualisieren oder neu laden, sprich er soll mir der bereits offenen Session arbeiten. Bei den Tuts die ich gefunden habe wurde jedes mal die Seite neu aufgerufen oder gleich das passende Request abgeschickt.

Ich würde das gerne lieber mit webrequests machen wollen anstatt mit einem simulierten webbrowser jedoch hab ich vllt auch ein denkfehler drin.
08/29/2013 19:19 Tasiro#2
Wenn du dem Server nichts sagst, wird er dir nicht antworten. Wenn du eine Antwort vom Server hast, kannst du die immer noch auslesen und entscheiden, was du damit machen möchtest.

Es gibt CookieContainer, damit kannst du für den Server dieselbe Person bleiben.
08/29/2013 19:20 tolio#3
les dir mal auf wikipedia durch wie das http protokoll funktioniert, dann wird dir ziemlich schnell klar was genau der browser macht und dementsprechend was du zu tun hast wenn du es nachstellen willst