using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace WebAPIBase.Utils
{
public class HttpClientHelper
{
///
/// HttpClient实现Post请求
///
public static string DoPost(string url)
{
string result = "";
var obj = new UserLoginInfo
{
Cpu = Computer.CpuID,
MotherBoard = Computer.MotherboardID,
PhysicalMemory = Computer.TotalPhysicalMemory,
Ip = RequestHelper.GetServerIp()
};
using (HttpClient httpClient = new HttpClient())
{
//post方式
//参数
var content = new StringContent(JsonConvert.SerializeObject(obj), Encoding.UTF8, "application/json");
HttpResponseMessage response = httpClient.PostAsync(url, content).Result;
//确保Http响应成功
if (response.IsSuccessStatusCode)
{
result = response.Content.ReadAsStringAsync().Result;
}
}
return result;
}
}
///
/// 传入的主板,cpu,内存等信息
///
public class UserLoginInfo
{
[JsonProperty(PropertyName = "Cpu", NullValueHandling = NullValueHandling.Ignore)]
public string Cpu { get; set; }
[JsonProperty(PropertyName = "MotherBoard", NullValueHandling = NullValueHandling.Ignore)]
public string MotherBoard { get; set; }
[JsonProperty(PropertyName = "PhysicalMemory", NullValueHandling = NullValueHandling.Ignore)]
public string PhysicalMemory { get; set; }
public string Ip { get; set; }
}
}