2010-11-15 4 views
3

Est-ce possible d'écrire un socket par C# dans ASP.net? par exemple Puis-je écrire un code Comme ce code Perl en C# et asp.net? :Programmation de socket par C# dans ASP.net

> use HTTP::Request::Common qw(POST); 
> use LWP::UserAgent; $ua = new 
> LWP::UserAgent(agent => 'Mozilla/5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5)Gecko/20060719 Firefox/1.5.0.5'); 
> $ua -> timeout(20); 
> my $req = POST 'http://Example.com/', 
> [ login_username => 'mehdi' , login22 => '654321' , go => 'submit']; 
> my $content = $ua->request($req); 

S'il vous plaît Donnez-moi un exemple ou Convertissez le code ci-dessus en C# et asp.net. Merci d'avance.

+2

Il est possible, mais vous devriez utiliser le client HTTP, et non raw sockets. –

+0

http://www.c-sharpcorner.com/UploadFile/mahesh/WebRequestNResponseMDB12012005232323PM/WebRequestNResponseMDB.aspx – jocull

+0

Steven: Oui, désolé je l'ai dit à HTTP client => Socket Programing: Merci d – Amra

Répondre

6

Oui, vous pouvez obtenir la même fonctionnalité dans .NET en utilisant la WebClient classe:

class Program 
{ 
    static void Main() 
    { 
     using (var client = new WebClient()) 
     { 
      client.Headers[HttpRequestHeader.UserAgent] = "Mozilla/5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5)Gecko/20060719 Firefox/1.5.0.5"; 
      var values = new NameValueCollection 
      { 
       { "login_username", "mehdi" }, 
       { "login22", "654321" }, 
       { "go", "submit" } 
      }; 
      var result = client.UploadValues("http://example.com", values); 

      // TODO: handle the result here like 
      Console.WriteLine(Encoding.Default.GetString(result)); 
     } 
    } 
} 
+0

Darin Dimitrov, très belle réponse – Amra

+0

ce qui est l'espace de noms de "NameValueCollection" et Encoding.Default.GetString? Tnx – Amra

+0

'System.Collections.Specialized.NameValueCollection' et' System.Text.Encoding'. 'Shift + Alt + F10 + Enter' sur le gribouillis rouge et Visual Studio fera attention. –