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. 3676: [Apio2014]回文串 求回文串长度与出现次数的最大值

    「BZOJ3676」[Apio2014] 回文串   Description 考虑一个只包含小写拉丁字母的字符串s.我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度.请你求出s的所 ...

  2. 精易四周年限量纪念U盘(全套)

    下载地址网盘:https://pan.baidu.com/s/1dFwPbiT

  3. C# Show()与ShowDialog()的区别-----转载

    A.WinForm中窗体显示  显示窗体可以有以下2种方法:  Form.ShowDialog方法 (窗体显示为模式窗体)  Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下:  1 ...

  4. GPU运行Tensorflow的几点建议

    1.在运行之前先查看GPU的使用情况: 指令:nvidia-smi 备注:查看GPU此时的使用情况 或者 指令:watch nvidia-smi 备注:实时返回GPU使用情况 2.指定GPU训练: 方 ...

  5. Ubuntu的妥协将支持精选的32位应用

    据外媒Tom's hardware,Ubuntu开发人员Canonical在早先的时候宣布Ubuntu 19.10将不再更新32位软件包和应用程序,引来了诸多应用开发者的不满.现在,Ubuntu方面宣 ...

  6. 仿照Android标准API写的各种形式的弹出框

    strings.xml: <?xml version="1.0" encoding="utf-8"?> <resources> < ...

  7. Oracle笔记--Sql语句

    1.SQL的三种类型语句: --1)DML(Data Manipulation Language)数据操纵语言 --2)DDL(Data Definition Language):数据定义语言 --3 ...

  8. Day3-B-Round Marriage CodeForces-981F

    It's marriage season in Ringland! Ringland has a form of a circle's boundary of length LL. There are ...

  9. 使用 XMLBeans 进行编程

      深入考察 XMLBeans 的特性和功能.本文通过一个简单的例子介绍 XMLBeans 技术,然后一步一步地介绍编译和绑定的过程,讨论 XML 游标.标记和 XQuery 表达式等高级特性.本文还 ...

  10. Jmeter - Linux 下面执行jmeter-server的时候出现:An error occurred: Cannot start. localhost is a loopback address.错误

    Jmeter - Linux 下面执行jmeter-server的时候出现:An error occurred: Cannot start. localhost is a loopback addre ...