2009-02-07 14 views
5

Je veux coder un bot automatique pour un jeu en ligne (tribalwars.net). J'apprends le C# à l'école, mais je n'ai pas encore couvert le réseautage.HTTP POST Bien que C#

Est-il possible de faire des POSTES HTTP en C#? Quelqu'un peut-il donner un exemple?

Répondre

0

Here's un bon exemple. Vous voulez utiliser la classe WebRequest en C#, ce qui vous facilitera la tâche.

3

Vous pouvez utiliser System.Net.HttpWebRequest:

Demande

HttpWebRequest request= (HttpWebRequest)WebRequest.Create(url); 
request.ContentType="application/x-www-form-urlencoded"; 
request.Method = "POST"; 
request.KeepAlive = true; 

using (Stream requestStream = request.GetRequestStream()) 
{ 
    requestStream.Write(BytePost,0,BytePost.Length); 
    requestStream.Close(); 
} 

Réponse

HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
using(StreamReader sr = new StreamReader(response.GetResponseStream())) 
{ 
    responseString = sr.ReadToEnd(); 
} 
+0

Vous devriez EnCase l'utiliser dans un bloc try-catch de sorte que vous pouvez capturer des données de 400 ou 500 erreurs. –

10

Trivial avec System.Net.WebClient:

using(WebClient client = new WebClient()) { 
    string responseString = client.UploadString(address, requestString); 
} 

Il y a aussi:

  • UploadData - binaire (byte[])
  • UploadFile - à partir d'un fichier
  • UploadValues ​​- paires nom/valeur (comme une forme)
Questions connexes