Nx 2.4.1.2

A .Net Helper Library For Rapid Development.Give You A Easy Way Send Http Request

There is a newer version of this package available.
See the version list below for details.
Install-Package Nx -Version 2.4.1.2
dotnet add package Nx --version 2.4.1.2
<PackageReference Include="Nx" Version="2.4.1.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Nx --version 2.4.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

0x01:Simulation of the HTTP request ======================================
     
     var ctxIn = RequestBuilder.Create("default")
         .SetUrl("http://sample.com/api/sendmsg")
         .SetUserAgent("Nx Framework 2.4.1.0")
         .SetReferer("http://sample.com/api/login")
         .SetProxy(new WebProxy("127.0.0.1:8888")) //or .SetProxy(new WebProxy("127.0.0.1:8888",enable:true))
         .WithCookie("name=value") //or .WithCookies(List<Cookie> cookies) and so on.
         .AllowAutoRedirect(true)
         .SetHttpMethod("POST")
         .WithHeader("X-Token","x9v4d-d043b")
         .WithTextInput("user","tiny")
         .WithFileInput("file1","D:\a.txt")
         .WithBytesInput("file2",new byte[]{0x00,0x03,0x00,0x7f})
         .SetTimeout(3000)
         .UsingAjax()
         .DisableProxy() //or .EnableProxy()
         .Build();
         
     var ctxIn = RequestManager.GetResponse(ctxIn);
     if(ctxIn.Exception==null)
     {
         //if html, we have a nice intergration from Ivony's code(Jumony.Core) builtin.
         var document = respCtx.ResponseDocument;//get IHtmlDocument object.

         //Filter elements like JQUERY using the extensions from Ivony
         var theElements = document.AllElements().Find(".pager");
         
         //LINQ then
         //var matchedElemList = theElements.Where(...).ToList();
         
         //Get text directly
         var text = ctxIn.Text;
         
         //The stream, and other useful properties of IResponseContext
         var ms = ctxIn.Stream;
     }
     
     0x02:Read Text Based File EASY And FAST.====================================
     
     var file = new Nx.IO.TextFileInfo("d:\\d.txt");

     //random row
     while(true)
     {
         Console.WriteLine(file.RandomRow.Text);
     }

     //row items
     foreach(var item in file.RowItems)
     {
         //useful properties:
         
         //item.RowIndex
         //item.Text
         //item.IsEmptyLine
         //item.DataLength
     }

     0x03:ThreadSafeRandom =============================================
     
       see class Nx.ThreadSafeRandom
       
       
     0x04:Extensions
     The usage is [using Nx.Extensions;]
     Provide some extension method for:
     Array
     Compression
     Cookie
     MD5
     Stream
     Time
     Uri
     ...
     
     For Details, see the reflection tree under Nx.Extension namespace of Nx under the VisualStudio Assembly References folder of vs project after install nx from nuget or you added reference manually.
     
     PS:
     I'm considering put this project on github someday.
     For this time, any suggestions or bugs can be submited by sending email to me(tiny@sandsea.info).
     
     [Updated at 2014.12.12 utc+8 (Beijing time)]
     

     UPDATE LOGS
     2.4.1.2
     * Add some http header setting method for Nx.Net.RequestBuilder:
     * Add [Accept] with [SetAccept(string)]
     * Add [Host] with [SetHost(string)]
     * Use AutoSetHost() to set the host from url.If url is http://www.baidu.com/index.php, then the host will be set to www.baidu.com
     * Set KeepAlive to false as default for HttpWebReqeust
     * Add Dispose() method for IResponseContext to manual dispose http connection resources.
     * Add [TransferEncoding] with [SetTransferEncoding(string)]
     * At this version, method Nx.Net.RequestBuilder.SetProxy(WebProxy) will also enable the proxy(previous versions have not do that.)
     
     Fixed bugs on decompress gzip stream from http response.  
     2.4.1.1
     Fix bug on determine if a request is multipart-form when build requst context

     2.4.1.0
     Many Bugs Fixed.
     With Ivony Html Extension Builtin.Thanks Ivony's code(Jumony.Core)
     Add Chaos.NaCl's cryto class

     2.3.0.0
     add support http post file using RequestBuilder.WithFileInput.
     the RequestBuilder.WithFormData changes to RequestBuilder.WithTextInput

     2.2.1.5
     fixed bug in Nx.TimeUtil.GetTimestamp()

     2.2.1.4
     small bug fix.

     2.2.1.3
     Add "HttpMethod PUT" support for the core request utils.

     2.2.1.2
     fix the bug that the post data does not submitted after use Nx.Net.RequestBuilder.SetHttpMethod("POST")

Dependencies

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Nx:

Package Downloads
Nx.DBUtility
A db util for easy sql query

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.8.0 915 3/10/2015
2.4.1.6 570 12/19/2014
2.4.1.5 557 12/19/2014
2.4.1.3 609 12/16/2014
2.4.1.2 544 12/15/2014
2.4.1.1 518 12/12/2014
2.4.1 612 12/12/2014
2.3.1.1 683 11/17/2014
2.3.1 1,282 11/16/2014
2.2.1.8 508 10/28/2014
2.2.1.5 534 10/21/2014
2.2.1.4 557 10/21/2014
2.2.1.3 495 10/14/2014
2.2.1.2 577 10/14/2014
2.2.1.1 542 10/14/2014
2.2.1 539 10/14/2014
2.1.0.2 593 9/29/2014
Show less