main
bicijinlian 9 months ago
parent c7eb991e26
commit 81e63c26f6

2
.gitignore vendored

@ -460,5 +460,5 @@ FodyWeavers.xsd
.idea/
# publish
Docs/Publish/
Docs/Publish/*

@ -0,0 +1,6 @@
{
"WebApi": {
"BaseUrl": "http://localhost:5189",
"WebAppMutexName": "HttpClientStudy.WebApp"
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Diagnostics;
namespace HttpClientStudy.Core.Utilities
{
/// <summary>
/// cmd命令行工具类
/// </summary>
public static class CmdUtility
{
/// <summary>
/// 执行cmd命令
/// </summary>
/// <param name="cmd"></param>
/// <returns>命令行输出结果</returns>
public static string RunCmd(string cmd)
{
string cmdResult = string.Empty;
// 创建一个新的ProcessStartInfo对象
ProcessStartInfo startInfo = new ProcessStartInfo("cmd", $"/c {cmd}")
{
RedirectStandardOutput = true, // 重定向标准输出
UseShellExecute = false, // 不使用系统外壳程序启动
CreateNoWindow = true // 不创建新窗口
};
// 启动进程
using (Process? process = Process.Start(startInfo))
{
if (process == null)
{
return "执行命令出错";
}
//process.WaitForExit();
// 读取cmd的输出
using (StreamReader reader = process!.StandardOutput)
{
cmdResult = reader.ReadToEnd();
}
}
return cmdResult;
}
}
}

@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HttpClientStudy.Core.Utilities;
namespace HttpClientStudy.UnitTest
{
/// <summary>
/// 临时测试
/// </summary>
public class TempTest
{
private readonly ITestOutputHelper _output;
public TempTest(ITestOutputHelper output)
{
_output = output;
}
[Fact]
public async Task TestAsync()
{
var ips = await Dns.GetHostAddressesAsync("www.hao123.com");
string firstIp = ips.FirstOrDefault().ToString();
//自定义行为
var socketsHandler = new SocketsHttpHandler
{
PooledConnectionLifetime = TimeSpan.FromSeconds(1),
PooledConnectionIdleTimeout = TimeSpan.FromSeconds(1),
MaxConnectionsPerServer = 10
};
var client = new HttpClient(socketsHandler);
for (var i = 0; i < 3; i++)
{
if (i > 0)
{
await Task.Delay(2000);
}
await client.GetAsync("https://www.hao123.com");
}
var queryNetwork = CmdUtility.RunCmd($"netstat -ano | findstr {firstIp}");
_output.WriteLine(queryNetwork);
}
}
}

@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HttpClientStudy.Core.Utilities;
namespace HttpClientStudy.UnitTest.UtilitiesTest
{
public class CmdUtilityTest
{
private readonly ITestOutputHelper _output;
public CmdUtilityTest(ITestOutputHelper testOutput)
{
_output = testOutput;
}
[Fact]
public void Test()
{
string cmd = "netstat -ano | findstr 127.0.0.1";
var result = CmdUtility.RunCmd(cmd);
_output.WriteLine(result);
}
}
}
Loading…
Cancel
Save