using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
}
/// <summary>
/// PostAsync接口传参和接口不传参
/// </summary>
/// <returns></returns>
public static string TestPostAsync()
{
var SSOUrl = "";
string url = "api/BusinessMenuApi/CheckUrlPermission";
//创建HttpClient(注意传入HttpClientHandler)
var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
var urlInfo = new UrlInfos { ModuleId = "", Url = "", BusinessCode = "" };
var token = "";
using (var http = new HttpClient(handler))
{
http.BaseAddress = new Uri(SSOUrl);
http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
var content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(urlInfo), Encoding.UTF8, "application/json");
var response = http.PostAsync(url, content).Result;//传参使用
// var response = http.PostAsync(url, null).Result;//不传参使用
//确保HTTP成功状态值
response.EnsureSuccessStatusCode(); //await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
var result = response.Content.ReadAsStringAsync().Result;
var json = JsonConvert.DeserializeObject<dynamic>(result);
bool success = json.Success;
if (success)
{
JArray jo = json.Result;
string jos = jo.ToString();
JArray jo2 = json.Error;
string jos2 = jo2.ToString();
return jos;
}
else
{
return string.Empty;
}
}
}
}
public class UrlInfos
{
/// <summary>
/// 菜单Id
/// </summary>
public string ModuleId { get; set; } /// <summary>
/// 菜单地址
/// </summary>
public string Url { get; set; } /// <summary>
/// 业务系统Code
/// </summary>
public string BusinessCode { get; set; } /// <summary>
/// 菜单是否从SSO获取
/// </summary>
public bool IsMeunFromSSO { get; set; }
}
}
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
}
/// <summary>
/// GetAsync接口传参和接口不传参
/// </summary>
/// <returns></returns>
public static string TestPostAsync()
{
var SSOUrl = "";
string url = "api/BusinessMenuApi/CheckUrlPermission/content=";
//创建HttpClient(注意传入HttpClientHandler)
var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
var urlInfo = new UrlInfos { ModuleId = "", Url = "", BusinessCode = "" };
var token = "";
using (var http = new HttpClient(handler))
{
http.BaseAddress = new Uri(SSOUrl);
http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
var content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(urlInfo), Encoding.UTF8, "application/json");
var response = http.GetAsync(url + content).Result;//传参使用
//var response = http.GetAsync(url).Result;//不传参使用
//确保HTTP成功状态值
response.EnsureSuccessStatusCode(); //await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
var result = response.Content.ReadAsStringAsync().Result;
var json = JsonConvert.DeserializeObject<dynamic>(result);
bool success = json.Success;
if (success)
{
JArray jo = json.Result;
string jos = jo.ToString();
JArray jo2 = json.Error;
string jos2 = jo2.ToString();
return jos;
}
else
{
return string.Empty;
}
}
}
}
public class UrlInfos
{
/// <summary>
/// 菜单Id
/// </summary>
public string ModuleId { get; set; } /// <summary>
/// 菜单地址
/// </summary>
public string Url { get; set; } /// <summary>
/// 业务系统Code
/// </summary>
public string BusinessCode { get; set; } /// <summary>
/// 菜单是否从SSO获取
/// </summary>
public bool IsMeunFromSSO { get; set; }
}
}

PostAsync与GetAsync的更多相关文章

  1. HttpWebRequest - Asynchronous Programming Model/Task.Factory.FromAsyc

    Posted by Shiv Kumar on 23rd February, 2011 The Asynchronous Programming Model (or APM) has been aro ...

  2. ASP.NET Core 2.1 : 十三.httpClient.GetAsync 报SSL错误的问题

    不知什么时候 ,出现了这样的一个奇怪问题,简单的httpClient.GetAsync("xxxx")居然报错了.(ASP.NET Core 系列目录) 一.问题描述 把原来的程序 ...

  3. new HttpClient().PostAsync封装参数

    var data = Encoding.UTF8.GetBytes("{ \"y\": 5, \"x\": 3}"); var conten ...

  4. Dapper.Contrib:GetAsync<T> only supports an entity with a [Key] or an [ExplicitKey] property

    异常处理:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 原来Model是这样滴 修改后是这样滴 注意点:Model里面的Table和Key ...

  5. UWP 律师查询 MVVM

    APP简介 律师查询是基于聚合数据的律师查询接口做的,这个接口目前处于停用状态,但是,由于我是之前申请的,所以,还可以用,应该是无法再申请了. 效果图 开发 一.HttpHelper 既然是请求接口的 ...

  6. Asp.Net WebApi核心对象解析(下篇)

    在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...

  7. ASP.NET WebApi OWIN 实现 OAuth 2.0

    OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌, ...

  8. ASP.NET Core 中文文档 第四章 MVC(4.5)测试控制器逻辑

    原文: Testing Controller Logic 作者: Steve Smith 翻译: 姚阿勇(Dr.Yao) 校对: 高嵩(Jack) ASP.NET MVC 应用程序的控制器应当小巧并专 ...

  9. Entity Framework 6 Recipes 2nd Edition(9-3)译->找出Web API中发生了什么变化

    9-3. 找出Web API中发生了什么变化 问题 想通过基于REST的Web API服务对数据库进行插入,删除和修改对象图,而不必为每个实体类编写单独的更新方法. 此外, 用EF6的Code Fri ...

随机推荐

  1. 这两天的pwn学习总结

    总是一会儿切到那里,一会儿切到那里,要明确一条主线,就是buu的题,而不是按着什么视频教程还有linux和python教程去学习.那样效率比较低. 一切为了写wp为本,不胡乱点击就是提高效率的最好办法 ...

  2. PLSQL设置显示的字符集及设置

    一.关于PLSQL无法正确显示中文 刚才下载安装了PLSQL Developer 9.0.0.1601 汉化绿色版,执行SQL查询语句,发现显示的数据中只要有中文都会以?表示.经过网上查询得知这是客户 ...

  3. javaScript中this的指向?

    javaScript中this对象是在运行时基于函数的执行环境绑定的,在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象. 但在实际中,代码环境复杂,th ...

  4. Linux-使用之vim出现的问题

    参考来源: https://stackoverflow.com/questions/47667119/ycm-error-the-ycmd-server-shut-down-restart-wit-t ...

  5. FTPClient下载文件,程序假死问题

    [所属类包] org.apache.commons.net.ftp.FTPClient [现象描述] 这两天java项目中用到了FTP下载,像之前的项目写好代码,但是点击下载后,程序调试到下面这一行, ...

  6. Shiro登录身份认证(从SecurityUtils.getSubject().login(token))到Realm的doGetAuthenticationInfo

    ssm框架下,controller接收到登录请求交给Service并开始处理流程: 1.Service的login方法: @Service public class SysUserServiceImp ...

  7. JQuery--jQuery对象与DOM对象

    1.JQuery是继Prototype之后又一个优秀的JavaScript库: 2.Jquery的理念是“写得少,做得多”,它有如下优势: --1)轻量级:2)强大的选择器:3)出色的DOM操作的封装 ...

  8. 常用命令提示符(cmd)

    MS-DOS(Microsoft Disk Operation System)命令提示符(cmd) 启动: win+ R 输入cmd回车切换盘符   盘符名称:进入文件夹   cd 文件夹名称进入多级 ...

  9. 093、Java中String类之字符串是匿名对象

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  10. keras人工神经网络构建入门

    //2019.07.29-301.Keras 是提供一些高度可用神经网络框架的 Python API ,能帮助你快速的构建和训练自己的深度学习模型,它的后端是 TensorFlow 或者 Theano ...