HTTPWebRequest - Formular absenden

13/11/2009 - 13:36 von Ulrich Eder | Report spam
Hallo NG,

ich suche bereits seit einer ganzen Weile nach einer Lösung. Ich möchte für
eine einfache Rückwàrtssuche die Rufnummer an ein Formular übergeben, dieses
mittels POST-Request übertragen und dann den Quelltext der Ergebnisseite
zurückerhalten. Der Punkt an dem ich ein Problem habe ist die Übermittlung.
Die Variable ServerResponse enthàlt den Quelltext des Formulars, nicht die
des 'Ergebnisses', also schliesse ich daraus daß die Seite gar nicht
abgeschickt wird.
Beispiel:
http://www.dasoertliche.de/oetbweb/...inv&ph002255426

Imports System.IO, System.Net, System.Text

Dim sNumber As String = "08002255426"
Dim Request As HttpWebRequest =
CType(WebRequest.Create("http://www.dasoertliche.de/oetbweb/...;ph="
& sNumber), HttpWebRequest)
Request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"

Dim Post As String = ""
Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
Request.ContentLength = byteArray.Length

Dim Response As HttpWebResponse = CType(Request.GetResponse(),
HttpWebResponse)
Dim DataStream As Stream = Response.GetResponseStream()
Dim reader As New StreamReader(DataStream)
Dim ServerResponse As String = reader.ReadToEnd()
reader.Close()
DataStream.Close()
Response.Close()
If ServerResponse.Contains("IBM Deutschland") Then
Debug.Print("Gefunden") Else Debug.Print(ServerResponse)

Wo ist mein Denkfehler?
Es kommt folgender (auf das wesentliche leicht gekürzte) Formularquellcode
zurück (das Formular, das ja eigentlich hàtte abgeschickt werden sollen):

<form action="Controller" method="post" name="searchform_Rueckwaerts"
onsubmit="deleteCity()">

<fieldset class="ruckwaertssuche">
<input type="hidden" name="form_name" value="search_inv"/>
<input type="hidden" name="buc" value=""/>
<input type="hidden" name="kgs" value=""/>
<input type="hidden" name="buab" value=""/>
<input type="hidden" name="zbuab" value=""/>
<input type="hidden" name="page" value="5"/>
<input type="hidden" name="context" value="4"/>
<input type="hidden" name="action" value="43"/>
<legend class="gone">R&uuml;ckw&auml;rtssuche</legend>
<label class="telefonnummer"
for="rueck_telefonnummer">Telefonnummer</label><input
id="rueck_telefonnummer" name="ph" type="text" value="08002255426"
class="telefonnummer bgfocus" />
<input name="image" type="submit" class="findbutton" value="" />
</fieldset>
</form>
</div>

Würde mich über euere Unterstützung sehr freuen.

Grüße,

Ulrich
 

Lesen sie die antworten

#1 Christoph Schneegans
13/11/2009 - 14:02 | Warnen spam
Ulrich Eder schrieb:

Die Variable ServerResponse enthàlt den Quelltext des Formulars,
nicht die des 'Ergebnisses', also schliesse ich daraus daß die
Seite gar nicht abgeschickt wird.



Nein, abgeschickt wird dein Request durchaus. Es fehlt aber
irgendetwas, so daß der Server wieder das ursprüngliche Formular
schickt.

Stell sicher, daß du in der Anfrage alles eintràgst, was auch ein
Browser an den Server zurückschicken würde, also insbesondere
die versteckten Formularfelder. Mit Fiddler erkennt man gut, welche
Daten das sind.

<http://schneegans.de/web/kanonische-adressen/> · Gute URLs

Ähnliche fragen