备份一个http请求,用的比较多的POST json数据

var data = new object[] { new { sn = SN, mac = Mac } };
            var jobj = await Task.Run(() =>
            {
                try
                {
                    using (HttpClient client = new HttpClient())
                    {
                        var url = Helper.GetAppSettings("SubmitAddress");
                        var json = Newtonsoft.Json.JsonConvert.SerializeObject(data);
                        client.Timeout = TimeSpan.FromSeconds(5);
                        /*
                            var form = new MultipartFormDataContent();
                            form.Add(new StringContent(file.Name), "dataId");
                            form.Add(new StringContent("DEFAULT_GROUP"), "group");
                            form.Add(new StringContent(str), "content");
                        */
                        var result = client.PostAsync(url, new StringContent(json, Encoding.UTF8, "application/json")).Result;
                        var ack = result.Content.ReadAsStringAsync().Result;
                        return JObject.Parse(ack);
                    }
                }
                catch (Exception ex)
                {
                    return JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(new
                    {
                        code = 500,
                        msg = $"服务器错误,请核查数据提交地址,配置文件中“SubmitAddress”是否正确!\r\n{ex.Message}"
                    }));
                }
            });
            loadCtrl.IsOpen = false;

            var code = jobj["code"]?.Value<int>();
            var msg = jobj["msg"]?.Value<string>();
// https 忽略证书
WebRequestHandler handler = new WebRequestHandler();
handler.ServerCertificateValidationCallback = delegate { return true; };
HttpClient client = new HttpClient(handler);
string msg = string.Empty, webToken = string.Empty;
using (HttpClient client = new HttpClient(handler))
{
    try
    {
        var url = "https://10.6.30.156/api/common/v1/user/login?username=nms&password=nms@a12345";
        client.Timeout = TimeSpan.FromSeconds(10);
        //MultipartFormDataContent content = new MultipartFormDataContent();
        //content.Add(new StringContent("admin"), "username");
        //content.Add(new StringContent("Dccs12345."), "password");
        var result = client.PostAsync(url, null).Result;
        if (result.StatusCode == System.Net.HttpStatusCode.OK)
        {
            try
            {
                var ack = result.Content.ReadAsStringAsync().Result;
                result.Content.Dispose();
                result.Dispose();

                var jobj = JObject.Parse(ack);
                if (jobj.Value<bool>("success"))
                {
                    var jresult = jobj.Value<JObject>("result");
                    webToken = jresult.Value<string>("webToken");
                }
                else
                {
                    msg = $"{jobj.Value<string>("msg")}";
                }
            }
            catch (Exception ex)
            {
                msg = $"数据解析异常,{ex.Message}";
            }
        }
        else
        {
            msg = $"远程服务器状态响应不正确,{result.StatusCode}";
        }

    }
    catch (Exception ex)
    {
        msg = $"访问异常,{ex.Message}";
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值