- PL: C#
- Version: 2.3
- Version .NET: 4.0 Client Profile
xNet - a class library for .NET Framework, which includes:
- Classes for work with proxy servers: HTTP, Socks4(a), Socks5.
- Classes for work with HTTP 1.0/1.1 protocol: keep-alive, gzip, deflate, chunked, SSL, proxies and more.
- Classes for work with multithreading: a multithreaded bypassing the collection, asynchronous events and more.
- Classes helpers that extend standard classes .NET Framework: FileHelper, DirectoryHelper, StringHelper, XmlHelper, BitHelper and others.
Detailed description: http://habrahabr.ru/post/146475/
Example 1:
using (var request = new HttpRequest()) { request.UserAgent = HttpHelper.RandomUserAgent(); request // Parameters URL-address. .AddUrlParam("data1", "value1") .AddUrlParam("data2", "value2") // Parameters 'x-www-form-urlencoded'. .AddParam("data1", "value1") .AddParam("data2", "value2") .AddParam("data2", "value2") // Multipart data. .AddField("data1", "value1") .AddFile("game_code", @"C:\orion.zip") // HTTP-header. .AddHeader("X-Apocalypse", "21.12.12"); // These parameters are sent in this request. request.Raw(HttpMethod.POST, "http://habrahabr.ru/").None(); // But in this request, they will be gone. request.Raw(HttpMethod.POST, "http://habrahabr.ru/").None(); }
Example 2 (old version):
using (var request = new HttpRequest()) { request.UserAgent = HttpHelper.RandomUserAgent(); request.Proxy = Socks5ProxyClient.Parse("127.0.0.1:1080"); var reqParams = new StringDictionary(); reqParams["login"] = "neo"; reqParams["password"] = "knockknock"; string content = request.Post( "www.whitehouse.gov", reqParams).ToText(); string secretsGovernment = content.Substring("secrets_government=\"", "\""); }
Example 3 (old version):
using (var request = new HttpRequest()) { var multipartData = new MultipartDataCollection(); multipartData.AddData("login", "Bill Gates"); multipartData.AddData("password", "qwerthahaha"); multipartData.AddDataFile("file1", @"C:\windows_9_alpha.rar", true); string content = request.Post( "www.microsoft.com", multipartData).ToText(); }
Example 4:
static void Main(string[] args) { var mt = new MultiThreading(10); mt.Run(MyAction); Thread.Sleep(1000); Console.ReadKey(); } static void MyAction(MultiThreading mt) { Console.WriteLine("Hello Thread!"); }