文章目录

  • 一、前文
  • 二、Get实例
    • 2.1 Get不带参数实例
    • 2.2 Get带参数实例
  • 三、Post实例
  • 四、header、Authorization、token实例

一、前文

EasyHttp/EasyHttp:Http Library for C#

An easy to use HTTP client that supports:

  • HEAD, PUT, DELETE, GET, POST
  • Cookies
  • Authentication
  • Dynamic and Static Typing
  • XML, JSON and WWW-Url form encoded encoding/decoding
  • File upload both via PUT and POST (multipart/formdata)
  • Some other neat little features…

二、Get实例

2.1 Get不带参数实例

class CaptchaImageInfo
{public string uuid;public string img;
}
HttpClient http = new HttpClient();
http.Request.Accept = HttpContentTypes.ApplicationJson;
http.Request.ContentType = HttpContentTypes.ApplicationJson;
var response = http.Get("http://localhost:8080/captchaImage");
var captchaImageInfo = response.StaticBody<CaptchaImageInfo>();
uuid = captchaImageInfo.uuid;
Console.WriteLine("uuid: {0}", captchaImageInfo.uuid);
Console.WriteLine("img: {0}", captchaImageInfo.img);

2.2 Get带参数实例

class TokenInfo
{public string token;public string code;public string msg;
}
HttpClient http = new HttpClient();
http.Request.Accept = HttpContentTypes.ApplicationJson;
http.Request.ContentType = HttpContentTypes.ApplicationJson;
var response = http.Get("http://localhost:8080/v3/admin/system/user/login/status", new { uuid=uuid });
var tokenInfo = response.StaticBody<TokenInfo>();
Console.WriteLine("token: {0}, code: {1}, msg: {2}", tokenInfo.token, tokenInfo.code, tokenInfo.msg);

三、Post实例

class AccountLoginInfo
{public string username;public string phoneNumber;public string password;public string code;public string uuid;
}
HttpClient http = new HttpClient();
http.Request.Accept = HttpContentTypes.ApplicationJson;
http.Request.ContentType = HttpContentTypes.ApplicationJson;var accountLoginInfo = new AccountLoginInfo();
accountLoginInfo.username = usernameText.Text.ToString();
accountLoginInfo.password = pwdText.Text.ToString();
accountLoginInfo.code = verificateCodeText.Text.ToString();
accountLoginInfo.uuid = uuid;var response = http.Post("https://localhost:8080/v3/admin/system/user/login/password", accountLoginInfo, HttpContentTypes.ApplicationJson);
Console.WriteLine(response.RawText);
if (response.StatusCode != HttpStatusCode.OK)
{MessageBox.Show("异常");
}
var tokenInfo = response.StaticBody<TokenInfo>();
if (tokenInfo.code.Equals("200"))
{Console.WriteLine("token: {0}, code: {1}, msg: {2}", tokenInfo.token, tokenInfo.code, tokenInfo.msg);http.Request.RawHeaders.Add("Authorization", tokenInfo.token);MessageBox.Show("登录成功");this.Close();
}
else
{MessageBox.Show(tokenInfo.msg);
}

四、header、Authorization、token实例

http.Request.RawHeaders.Add("Authorization", token);

觉得好,就一键三连呗(点赞+收藏+关注)

C# .Net EasyHttp (Http Library for C#) 应用实例相关推荐

  1. ASP.NET Jumpstart:Media Share Library Starter Kit 简介

    摘要:了解如何使用 Microsoft ASP.NET 和 Microsoft Visual Studio 2005 或 Microsoft Visual Web Developer 2005 Exp ...

  2. hibernate 映射_Hibernate映射集合性能问题

    hibernate 映射 首先,本文的灵感来自于Burt Beckwith在2011年1月27日于SpringOne 2GX上发表的有关高级GORM –性能,自定义和监视的演讲 . 简而言之, Bur ...

  3. Hibernate映射集合性能问题

    首先,这篇文章的灵感来自于Burt Beckwith在2011年1月27日于SpringOne 2GX上发表的有关高级GORM –性能,定制和监控的演讲 . 简而言之, Burt Beckwith讨论 ...

  4. django-自定义过滤器

    总结 如何自定义模块过滤器 如何使用自定义过滤器 ? ==定义阶段=== 一,在项目目录下创一个文件夹 templatetags 固定的名称 二,在templatetags目录下建一个py文件用于写代 ...

  5. GreenDao的简单学习(附带demo源码)

    先看效果图: 添加实体: 按条件查询实体: GreenDao 概述:     适用于Android的轻量级快速ORM框架,可将对象映射到SQLite数据库中,并且针对Andriod进行了高度的优化,g ...

  6. 跨平台iOS自动化测试工具——tidevice

    前言 一直以来,iOS自动化的实现&执行都依赖 Mac 系统,其主要原因是因为需要通过 Xcodebuild 编译&安装 WDA (WebDriverAgent) 到 iOS 设备中, ...

  7. PB Send()函数应用有关数据整理

    PB Send()函数应用有关数据整理 Send()函数定义:Send(handle,message#,lowword,long) 其中的message#是一个UnsignedIntege,就是WM_ ...

  8. 《The design of FreeType 2》中译版

    转载至: http://blog.sina.com.cn/s/blog_4ab2ba570100y7fm.html FreeType 2的设计 介绍 这份文档提供了FreeType 2函数库设计与实现 ...

  9. InfoPath + Workflow + MOSS

    在MOSS 2007种利用InfoPath 2007结合Workflow Foundation可以高效的做出非常强大的工作流应用.因为在SDK中这部分的内容有点不流畅,读起来比较费劲.所以我想以我的一 ...

最新文章

  1. mysql8.0.13安装版_windows下mysql 8.0.13 解压版安装图文教程
  2. sqlite性能优化
  3. 人类长非编码RNA表达数据库,整合9种重要生物学场景(发育、癌症、病毒侵染等)...
  4. 极其良心的设计导航网站
  5. 现代操作系统原理与实践03:操作系统结构
  6. 表单html遇到的问题及处理,Web前端开发中常见问题及解决方案
  7. 得益于数据中心芯片业务提升,AMD公司财务表现令投资者欣喜
  8. [转]C#自定义应用程序配置文件App.config
  9. 获取和设置线程的名称
  10. 用Protel 99 SE学习原理图的设计及pcb的绘制
  11. Iris数据集神经网络训练
  12. 小白如何连续两年美赛斩获M奖
  13. 互亿无线5G视频短信
  14. java mysql聊天室_java实现聊天室的简单实现
  15. Java中通过流下载文件
  16. 短视频去水印接口支持全网解析源码/自定义API接口
  17. 【Quant】80+面试,5个offer,Quant大神总结分享各家quant面试题
  18. Sydney 免费wordpress企业主题
  19. win10点击关机后不能正常关机的处理
  20. 20201203 aaaaabbbbbccccc

热门文章

  1. APEX手游上线,附苹果IOS、安卓端下载教程及安装文件
  2. 怎么区分被动元件和主动元件
  3. 转载:Notepad++的64位HexEditor
  4. 软件测试报告重点审核点有哪些,一份完善的软件测试报告该怎么写?
  5. 数字逻辑笔记7丨2.5逻辑函数卡诺图化简法
  6. Unity3D《极品狂暴飞车》游戏截图
  7. 查重系统,在线提交作业
  8. MySQL——Keepalived+Mysql高可用架构实战
  9. PMC Flashtec + Memblaze PBlaze 4 = 性能惊人的NVM Express SSD!
  10. AOSP源码分析:Android Input事件的产生、读取和分发