C# HttpWebRequest Méthode Post de nombreux paramètres dans le formulaire

Je suis en train d'écrire un simple programme C# pour faire quelques requêtes web et la publication des données.
Je comprends comment les notions de base de travail comme la façon de se connecter avec un mot de passe et les choses d'un formulaire html.
Cependant, je me demande si il y a beaucoup de paramètres d'entrée (comme cette question de la page ) comme des cases à cocher et des champs de texte, est-il une méthode efficace de codage en dur des 20 paramètres dans une chaîne de caractères et de les transmettre? Je peux lire le fichier html de l'analyser et de l'analyse l'entrée et utiliser le générateur de Chaîne pour faire une telle chaîne, mais je me demandais est-il une méthode plus efficace que de le faire?

    private HtmlAgilityPack.HtmlDocument getpage(string url ,String input)
{
try
{
Stream datastream;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = new CookieContainer();
request.CookieContainer.Add(cookies);
request.AllowAutoRedirect = true;
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2";
request.ContentType = "application/x-www-form-urlencoded";
if (input!=null)
{
String postData = "";
request.Method = "POST";
if (input == "login")
{
postData = String.Format("username={0}&password={1}", "myusername", "mypassword");
}
else if (input == "sendMessage")
{
//THIS IS THE LONG STRING THAT I DON'T WANT TO HARD CODE
postData = String.Format("reciever={0}&sendmessage={1}", "thepersontomessage" ,this.DefaultMessage);
//I am just puting two parameters for now, there should be alot
}
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.ContentLength = byteArray.Length;
datastream = request.GetRequestStream();
datastream.Write(byteArray, 0, byteArray.Length);
datastream.Close();
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
datastream = response.GetResponseStream();
String sourceCode = "";
using (StreamReader reader = new StreamReader(datastream))
{
sourceCode = reader.ReadToEnd();
}
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(sourceCode);
this.cookies.Add(response.Cookies);
return htmlDoc;
}
catch (Exception)
{
return null;
}

Aussi est-il un moyen simple de voir quelles sont les valeurs de paramètre réglé lorsque je clique sur un bouton dans un formulaire html dans un navigateur (en gros le post chaîne d'url et les valeurs de paramètre qui est envoyé) afin que je puisse coder en dur ces valeurs dans l'Postdatastring (cases à cocher, textes, etc)

Pour voir ce qu'est un navigateur envoie à un serveur, installer Fiddler

OriginalL'auteur noobiehacker | 2012-11-19