C#调取webapi

 //定义参数  C#调取webapi
         var content = new FormUrlEncodedContent(new Dictionary<string, string>()
          {
           {"Id",Guid.Empty.ToString()},
           {"data",DateTime.Now.ToString("yyyy-MM-dd") },
           {"new_visitor","123"},
           {"new_visitor_percent","20.00%"},
           {"old_visitor","456"},
           {"old_visitor_percent","30.00%"},
           {"orgid","5e436943-2e51-4d34-baab-762cf58b2ac7"},
           });
           result = RequestAPI(content, "api/SiteService/GetSaveCtrUserCompare");

  public string RequestAPI(FormUrlEncodedContent content, string strmethod)
        {
            //提交当前地址的webapi
            //string apiUrl = ConfigurationManager.AppSettings["SSOPassport"];
            string apiUrl = "http://xxx.xxx.xx.xxx:8077/";
            //向用户中心提交部门
            //后台client方式GET提交
            HttpClient myHttpClient = new HttpClient();
            myHttpClient.BaseAddress = new Uri(apiUrl);
            HttpResponseMessage response = myHttpClient.PostAsync(strmethod, content).Result;
            string result = "";
            if (response.IsSuccessStatusCode)
            {
                result = response.Content.ReadAsStringAsync().Result;
            }
            //将json字符串转化为对应的格式
            JObject jsonObj = JObject.Parse(result);
            string dataStr = string.Empty;
            if (jsonObj.Property("Result") != null && jsonObj["Result"] != null && !string.IsNullOrEmpty(jsonObj["Result"].ToString()))
            {
                dataStr = jsonObj["Result"].ToString();
            }
            return dataStr;
        }

时间: 2024-10-14 10:57:50

C#调取webapi的相关文章

关于在webapi + ef + 视图 + top查询的问题

在ef中使用视图中有一种坑是视图没有主键,表现的形式是有些数据会出现重复,解决的方法是手动在视图中添加主键即可 在实际的项目中碰到另一种坑,即使用webapi查询时的一种,现记录情况如下: 1:随便创建一个视图 create view v_1 as select id,name,time from table order by field desc 2: 在webapi项目中使用ef链接数据库自动生成v_1的模型 3:编写controller代码 [EnableQuery] public IQu

瞎折腾之Mvc WebApi的使用以及跨域问题

在公司经常会用到调用接口的情况,但是一直是用的webservice,我感觉真是太笨重了.虽然某些人感觉用的很爽.非常爽.比如说:公司在开发的时候需要对接另一组的接口,然后就只能是指定端口和ip到他的电脑.其中各种问题,他在修改代码,或者电脑不开启,我们这边都不能进行开发了.我希望下次能用上api 然后就是,园子里好多api的文章都没有降到跨域的解决方案,演示项目创建成功了,然后就在当前项目的调取成功了api的接口方法.就成功了?逗我们玩呢?没有错.就是在逗我们玩. 接下来让我们进入webapi

Blazor client-side + webapi (.net core 3.1) 添加jwt验证流程(非host)第一步

第一步,设置并检查CROS跨域请求 因为我们并不打算将Blazor 由webapi来进行host,所以Blazor和api将是两个域名,这样操作即方便以后单独使用Blazor来写前端,但后端采用已有或其他语言框架或版本的api. 这也是我接下来项目的打算. 准备工作,生成项目: 这里使用的是.Net CLI,即命令行,这样方便将前后端都运行进行测试. 1. cd到文件夹(你自己创建) 2.dotnet new sln -n AuthApiAndBlazor  (这步用来生成解决方案) 3.dot

使用OAuth打造webapi认证服务供自己的客户端使用

一.什么是OAuth OAuth是一个关于授权(Authorization)的开放网络标准,目前的版本是2.0版.注意是Authorization(授权),而不是Authentication(认证).用来做Authentication(认证)的标准叫做openid connect,我们将在以后的文章中进行介绍. 二.名词定义 理解OAuth中的专业术语能够帮助你理解其流程模式,OAuth中常用的名词术语有4个,为了便于理解这些术语,我们先假设一个很常见的授权场景: 你访问了一个日志网站(thir

Centos7.2部署.Net Core2.0 WebApi

部署前准备 1.VisualStudio2017+.netcore2.0SDK 2.Centos7.2 3.SecureCRT,Xftp(根据自己喜好) 创建WebApi项目 修改Program.cs中的BuildWebHost方法为(不改也可,core默认使用Kestrel作为Server) public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel()

搭建连接MySql的三层架构的ASP.NetCore2.0的WebApi

里我们用三层架构搭建一个连接MySql的ASP.netCore模板的WebApi项目 首先添加WebApi项目(ASP.NetCore版本) 右键解决方案>新建项目> 选择Web>ASP.NET Core Web应用程序(.NET Core) 选择Web API 此时的目录结构: 添加实体层Entity 右键添加>新建项目>.Net Core类库 添加后的目录结构 BaseEntity: using System; using System.Collections.Gener

WebApi基于Token和签名的验证

最近一段时间在学习WebApi,涉及到验证部分的一些知识觉得自己并不是太懂,所以来博客园看了几篇博文,发现一篇讲的特别好的,读了几遍茅塞顿开(都闪开,我要装逼了),刚开始读有些地方不理解,所以想了很久,因此对原文中省略的部分这里做一点个人的理解和补充,非常基础,知道的园友就不需要了,只是帮助初次学习的园友理解.原文传送门: http://www.cnblogs.com/MR-YY/p/5972380.html#!comments 本篇博文中的所有代码均来自上述链接,如果你觉得有帮助,请点击链接给

Asp.net Core WebApi 全局异常类

通过全局异常类,所有程序中遇到的错误都会被拦截,并友好的返回结果. 1.自定义一个全局异常处理类中间件 using Microsoft.AspNetCore.Http; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Threading.Tasks; using Syst

webapi方式

随笔 - 112  文章 - 0  评论 - 334 ASP.NET MVC学习系列(二)-WebAPI请求 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$