JCoder.Network
3.2602.1
.NET 6.0
This package targets .NET 6.0. The package is compatible with this framework or higher.
.NET Standard 2.1
This package targets .NET Standard 2.1. The package is compatible with this framework or higher.
.NET Framework 4.7.2
This package targets .NET Framework 4.7.2. The package is compatible with this framework or higher.
dotnet add package JCoder.Network --version 3.2602.1
NuGet\Install-Package JCoder.Network -Version 3.2602.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="JCoder.Network" Version="3.2602.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="JCoder.Network" Version="3.2602.1" />
<PackageReference Include="JCoder.Network" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add JCoder.Network --version 3.2602.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: JCoder.Network, 3.2602.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package JCoder.Network@3.2602.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=JCoder.Network&version=3.2602.1
#tool nuget:?package=JCoder.Network&version=3.2602.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
JCoder.Network
| 属性 | | | --------------- | -------------------------------------------- | | 作者(Authors) | Jackie Law | | 版权(Copyright) | Copyright © Jackie Law. All rights reserved. | | 协议 | MIT | | 联系(QQ) | 1378071853 | | 联系(Wechat) | JackieLaw1024 | | 联系(Email) | JackieLaw-dev@outlook.com |
目录
[TOC]
一.架构说明
| JCoder.Network | |
|---|---|
| 语言 | C# |
| 协议 | MIT |
| .Net框架 | .Net Standard2.1; .Net Framework 4.7.2; .Net 6; .Net 8; .Net 10; |
| 简述 | A simple library for network function.(一款简易版的用于网络相关的功能库) |
1.1 引用类库
| 引用类库 | 版本 |
|---|---|
| - | - |
1.2 相关类库
| 相关类库 | 说明 | | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | | JCoder | The base library of JCoder Serial.(JCoder库系列的基础库。) | | JCoder.Data | A simple library for data strcut.(一款简易的用于数据结构的扩展库。) | | JCoder.Text4Net | A simple library for text.(一款简易的用于文本处理的扩展库。) |
获取方式
- 版本要求:>=2.4.1
- 以版本2.4.1为例
| 获取方式 | 描述 |
| ------------------ | -------------------------------------------- |
| Package Manager | Install-Package JCoder.Network -Version 2.4.1 |
| .Net CLI | dotnet add package JCoder.Network --version 2.4.1 |
| PackageReference | <PackageReference Include="JCoder.Network" Version="2.4.1" /> |
| Paket CLI | paket add JCoder.Network --version 2.4.1 |
| Script&Interactive | #r "nuget: JCoder.Network, 2.4.1"|
| Cake | // Install JCoder.Network as a Cake Addin<br/>#addin nuget:?package=JCoder.Network&version=2.4.1<br/><br/>// Install JCoder.Network as a Cake Tool<br/>#tool nuget:?package=JCoder.Network&version=2.4.1 |
三.使用说明
本库提供网络相关功能,包括 FTP 文件传输与 Web API HTTP 请求两大模块。
3.1 主要类与接口
| 名称 | 类型 | 描述 | | ---------------------- | ------ | -------------------------------------------------------------------------------- | | FTP | 静态类 | FTP 工具类,提供文件上传、下载等静态便捷方法。 | | Ftper | 类 | FTP 操作类,封装 FtpWebRequest 进行文件上传、下载、目录创建等操作。 | | WebApi | 静态类 | Web API 请求工具类,提供 GET/POST/PUT/DELETE 等 HTTP 便捷调用。 | | WebapiHub | 类 | Web API 操作器管理中心,按类型/标识注册和获取 IWebapier 实例。 | | HttpClientHub | 类 | HttpClient 工厂,按 API 地址缓存和复用 HttpClient 实例。 |
3.2 使用方法
FTP 文件上传下载
using JCoder.Network;
// 使用静态 FTP 工具类上传文件
bool _ok1 = FTP.UploadFile(
@"C:\Local\file.pdf", // 本地文件路径
"ftp://ftp.example.com/files/", // FTP 目标目录URL
"username", "password");
// 使用静态 FTP 工具类下载文件
bool _ok2 = FTP.DownloadFile(
"ftp://ftp.example.com/files/file.pdf", // FTP 文件URL
@"C:\Local", // 本地保存目录
"download.pdf", // 保存文件名
"username", "password");
// 创建 FTP 客户端实例(服务器地址+端口)
var _ftper = new Ftper("ftp.example.com", 21, "username", "password");
_ftper.UploadFile(@"C:\Local\file.pdf", "/remote/");
_ftper.DownloadFile("/remote/file.pdf", @"C:\Local", "download.pdf");
Web API GET 请求
using JCoder.Network;
// GET 请求获取字符串结果
string _result = await WebApi.GetAsync("https://api.example.com/users");
// GET 请求并反序列化为对象
User _user = await WebApi.GetAsync<User>("https://api.example.com/users/1");
// GET 请求带参数
var _params = new Dictionary<string, string> { ["page"] = "1", ["size"] = "20" };
string _list = await WebApi.GetAsync("https://api.example.com/users", parameters: _params);
Web API POST 请求
using JCoder.Network;
// POST 提交 JSON 字符串
string _json = "{\"name\":\"Jack\",\"age\":30}";
string _resp = await WebApi.PostByJsonAsync("https://api.example.com/users", null, _json);
// POST 提交对象并反序列化为结果
var _arg = new { Name = "Jack", Age = 30 };
User _created = await WebApi.PostByObjectAsync<User>("https://api.example.com/users", null, _arg);
// POST 提交表单参数字典
var _form = new Dictionary<string, string> { ["name"] = "Jack", ["age"] = "30" };
string _formResp = await WebApi.PostAsync("https://api.example.com/users", parameters: _form);
HttpClient 复用
using JCoder.Network;
// 通过 HttpClientHub 获取复用的 HttpClient(按URL缓存,30分钟过期)
HttpClient _client = HttpClientHub.Hub.GetClient("https://api.example.com");
// 直接使用标准 HttpClient API 发起请求
var _data = await _client.GetStringAsync("https://api.example.com/data");
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| .NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.7.2
- JCoder (>= 3.2630.1)
- JCoder.Data (>= 3.2602.1)
- JCoder.Text4Net (>= 3.2603.3)
-
.NETStandard 2.1
- JCoder (>= 3.2630.1)
- JCoder.Data (>= 3.2602.1)
- JCoder.Text4Net (>= 3.2603.3)
-
net10.0
- JCoder (>= 3.2630.1)
- JCoder.Data (>= 3.2602.1)
- JCoder.Text4Net (>= 3.2603.3)
-
net6.0
- JCoder (>= 3.2630.1)
- JCoder.Data (>= 3.2602.1)
- JCoder.Text4Net (>= 3.2603.3)
-
net8.0
- JCoder (>= 3.2630.1)
- JCoder.Data (>= 3.2602.1)
- JCoder.Text4Net (>= 3.2603.3)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on JCoder.Network:
| Package | Downloads |
|---|---|
|
JCoder.Shopify4Net.GraphQLAPI
A simple library for Shopify.(一款简易版的用于Shopify的.Net库) |
|
|
JCoder.Shopify4Net.RESTAPI
A simple library for Shopify.(一款简易版的用于Shopify的.Net库) |
GitHub repositories
This package is not used by any popular GitHub repositories.
Please contact Jackie by QQ 1378071853 or E-mail JackieLaw-dev@outlook.com;