Это не отправка текста на сайт с помощью веб-запроса

Я хочу программно отправить данные на веб-сайт, а затем программно нажать кнопку "Отправить". Это HTML-код, который я пытаюсь заполнить:

<textarea id="rpslBox:postRpsl:rpslObject" name="rpslBox:postRpsl:rpslObject" class="ripe-input-field ui-corner-all" rows="18" style="width:500px;"></textarea>

Я использую этот код C#:

 WebRequest request = WebRequest.Create("https://apps.db.ripe.net/syncupdates/simple-rpsl.html ");
 // Set the Method property of the request to POST.
 request.Method = "POST";
 string textarea = "text";

 // Create POST data and convert it to a byte array.
 string postData = string.Format("rpslBox:postRpsl:rpslObject{0}", textarea);

Когда я запускаю этот код, он возвращает HTML-код страницы без отправки этого текста. Как я могу отправить этот текст? Спасибо за вашу помощь!

1 ответ

Я не могу проверить, работает ли это, но насколько я понимаю из msdn, следующий код преобразует ваши постданные в bytedata и отправит их на веб-сервер:

byte[] byteArray = 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.
Stream dataStream = request.GetRequestStream ();
// Write the data to the request stream.
dataStream.Write (byteArray, 0, byteArray.Length);
// Close the Stream object.
dataStream.Close ();

И что впоследствии следующий код может быть использован для чтения нового ответа от веб-сервера:

// Get the response.
WebResponse response = request.GetResponse ();
// Display the status.
Console.WriteLine (((HttpWebResponse)response).StatusDescription);
// Get the stream containing content returned by the server.
dataStream = response.GetResponseStream ();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader (dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd ();
// Display the content.
Console.WriteLine (responseFromServer);
// Clean up the streams.
reader.Close ();
dataStream.Close ();
response.Close ();
Другие вопросы по тегам