Jc.Net
1.1.11
dotnet add package Jc.Net --version 1.1.11
NuGet\Install-Package Jc.Net -Version 1.1.11
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="Jc.Net" Version="1.1.11" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Jc.Net --version 1.1.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Jc.Net, 1.1.11"
#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.
// Install Jc.Net as a Cake Addin #addin nuget:?package=Jc.Net&version=1.1.11 // Install Jc.Net as a Cake Tool #tool nuget:?package=Jc.Net&version=1.1.11
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Jc.Net
基础网络请求模块
实例化
Jc.Net.JcNet net = new Jc.Net.JcNet();
下载文件
HttpDownloadCallback 有进度的下载
void DownLoad()
{
try
{
net.HttpDownloadCallback(
"https://xxxx.com/1914000052_3682012180020_2C41.etc",
"1.etc",
resultFile
);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
//下载文件回掉
void resultFile(bool status, int progrss, string message)
{
Console.WriteLine($"status:{status}>progrss:{progrss}>message:{message}");
}
HttpDownload 同步无进度下载
net.HttpDownload("url", "localFilePath");
上传文件
HttpUploadCallback 有进度的上传
void UploadTest()
{
Jc.Net.JcNet net = new JcNet();
net.HttpUploadCallback(
"http://localhost:5162/test/uploadfile",
"/Users/jackerkun/Downloads/2021-04-29-vueday-en.pdf",
uploadCallback);
}
/// <summary>
/// 上传文件回调函数
/// </summary>
/// <param name="state">状态</param>
/// <param name="fileUploaded">已经上传多少</param>
/// <param name="fileSize">文件总大小</param>
/// <param name="percent">已经上传的比例</param>
/// <param name="timeSpan">耗时(s)</param>
/// <param name="upSpeed">上传速度</param>
/// <param name="serverResult">服务器返回信息</param>
/// <returns></returns>
void uploadCallback(JcNet.UploadState state,
int fileUploaded,
long fileSize,
string percent,
string timeSpan,
string upSpeed,
string serverResult)
{
Console.WriteLine($"{state},{fileUploaded},{fileSize},{percent},{timeSpan},{upSpeed},{serverResult}");
}
HttpUpload 同步 无进度上传(返回服务信息)
var result=net.HttpUpload(serverUrl,localFile);
API接收端 代码
/// <summary>
/// 上传文件
/// </summary>
/// <returns></returns>
[HttpPost("/test/uploadfile")]
[DisableRequestSizeLimit]
public async Task<ActionResult> uploadfile()
{
try
{
var files = Request.Form.Files;
foreach (var formFile in files)
{
if (formFile.Length > 0)
{
var filePath =formFile.FileName;//文件路径
using (var stream = new FileStream(filePath, FileMode.Create))
{
await formFile.CopyToAsync(stream);
}
//到这里 文件就保存完毕了
}
}
}
catch (Exception ex)
{
return Ok(ex.Message);
}
return Ok("success");
}
网络请求
HttpPost 同步Post请求
/// <summary>
/// httpPost请求
/// </summary>
/// <param name="url">服务器地址</param>
/// <param name="postData">参数内容</param>
/// <param name="headers">headers</param>
/// <param name="timeOut"></param>
/// <returns></returns>
public string HttpPost(string url, string postData, List<string> headers, int timeOut = 3000)
HttpPostCallback 异步Post请求 带回调
/// <summary>
/// POST异步请求 带 回调
/// </summary>
/// <param name="url">服务器地址</param>
/// <param name="postData">参数内容</param>
/// <param name="headers">headers</param>
/// <param name="callBack">回调函数</param>
/// <param name="timeOut"></param>
public void HttpPostCallback(string url, string postData, List<string> headers, HttpResult callBack, int timeOut = 3000)
HttpGet 同步Get请求
/// <summary>
/// httpGet同步请求
/// </summary>
/// <param name="url"></param>
/// <param name="headers"></param>
/// <param name="timeOut"></param>
/// <returns></returns>
public string HttpGet(string url, List<string> headers, int timeOut = 3000)
httpGetCallback 异步Get请求 带回调
/// <summary>
/// 异步 带回调 httpGet
/// </summary>
/// <param name="url">服务器地址(含参数)</param>
/// <param name="headers">headers</param>
/// <param name="callBack">回调函数</param>
/// <param name="timeOut"></param>
/// <returns></returns>
public void HttpGetCallback(string url, List<string> headers, HttpResult callBack, int timeOut = 3000)
HttpPostForm Post Form提交数据
//切记 文件要放到后面提交--------
var dat = new NameValueCollection()
{
{"aecgParm", JsonConvert.SerializeObject(aecgData,Formatting.Indented)},
{"aecgFile","/Users/jackerkun/Downloads/test.aecg"},
};
var res= net.HttpPostForm("http://192.168.1.140:5003/api/airpt",dat);
HttpGetForm Get Form提交数据
var dat = new NameValueCollection()
{
{"aiParm", JsonConvert.SerializeObject(parm)}
};
var res= net.HttpGetForm("http://192.168.1.140:5003/api/airpt",dat);
内容处理函数
返回值转String
/// <summary>
/// 获取Response的返回值
/// </summary>
/// <param name="response"></param>
/// <returns></returns>
public string? ResponseToString(HttpWebResponse? response)
返回值落盘
/// <summary>
/// 获取Response落盘文件
/// </summary>
/// <param name="response"></param>
/// <param name="filePath"></param>
/// <returns></returns>
public bool ResponseToFile(HttpWebResponse? response,string filePath)
返回值转Byte[]
/// <summary>
/// 获取Response转bytes
/// </summary>
/// <param name="response"></param>
/// <returns></returns>
public byte[] ResponseToBytes(HttpWebResponse? response)
Url参数获取
/// <summary>
/// 获取地址中的参数
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public NameValueCollection GetQueryParams(string url)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. 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.
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Jc.Net:
Package | Downloads |
---|---|
Jc.WX
微信接口通讯模块积累 |
GitHub repositories
This package is not used by any popular GitHub repositories.