开源项目 02 HttpLib
- using JumpKick.HttpLib;
- using Newtonsoft.Json;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp2.test1
- {
- public class Class2
- {
- //原文:https://archive.codeplex.com/?p=httplib
- // https://github.com/j6mes/httplib/
- //get
- public void test1()
- {
- Http.Get("https://www.cnblogs.com/xuliangxing/p/8004403.html").OnSuccess(result =>
- {
- Console.Write(result);
- }).Go();
- }
- //get
- public void test2()
- {
- Http.Get("https://www.cnblogs.com/xuliangxing/p/8004403.html").OnSuccess(result =>
- {
- Console.Write(result);
- }).OnFail(webexception =>
- {
- Console.Write(webexception.Message);
- }).Go();
- }
- //post raw
- public void test3()
- {
- //方式1
- //string strUrlPara = "{ \"uri\": \"rtsp://admin:kj20091228@149.129.67.70:5554/Streaming/Channels/102?transportmode=unicast\"}";
- //方式2
- string strUrlPara = JsonConvert.SerializeObject(new
- {
- uri = "rtsp://admin:kj20091228@149.129.67.70:5554/Streaming/Channels/102?transportmode=unicast"
- });
- Http.Post("http://149.129.67.70:8080/start").Body(strUrlPara).OnSuccess(result =>
- {
- Console.Write(result);
- }).OnFail(webexception =>
- {
- Console.Write(webexception.Message);
- }).Go();
- }
- //post form
- public void test4()
- {
- Http.Post("http://183.66.231.18:8084/Login/ValidateLogin").Form(new
- {
- name = "test1",
- pwd = "test12",
- remember = false
- }).OnSuccess(result =>
- {
- Console.Write(result);
- }).OnFail(webexception =>
- {
- Console.Write(webexception.Message);
- }).Go();
- }
- //post cookie
- public void test5()
- {
- IDictionary<string, string> header = new Dictionary<string, string>();
- header.Add("Cookie", "ASP.NET_SessionId=jwgaqf0xzbsuc2ojb1dojwzg");
- Http.Post("http://183.66.231.18:8084/SensorManagement/BindPosition").Form(new
- {
- bid = ""
- }).Headers(header).OnSuccess(result =>
- {
- Console.Write(result);
- }).OnFail(webexception =>
- {
- Console.Write(webexception.Message);
- }).Go();
- }
- //upload file
- public void test6()
- {
- //测试外网 这个地址没有成功,可能是提交file的时候,还一起提交了其它参数
- //http://183.66.231.18:8084/Area/BridgeThreeModel/Save
- //http://183.66.231.18:8084/Document/Upload
- IDictionary<string, string> header = new Dictionary<string, string>();
- header.Add("Cookie", "ASP.NET_SessionId=jwgaqf0xzbsuc2ojb1dojwzg");
- //上传文件的时候 附带上传参数 未成功
- //IDictionary<string, string> form = new Dictionary<string, string>();
- //form.Add("ID", "0");
- //form.Add("BridgeID", "15");
- //var obj = new
- //{
- // ID = 0,
- // BridgeID = 15
- //};
- //string form = JsonConvert.SerializeObject(obj);
- //var obj = new
- //{
- // fileName = "44444"
- //};
- //string form = JsonConvert.SerializeObject(obj);
- ////var form = obj;
- //Stream stream = new MemoryStream();
- //byte[] bs = System.Text.Encoding.UTF8.GetBytes(form);
- //stream.Write(bs, 0, bs.Length);
- //stream.Flush();
- //stream.Close();
- Http.Post("http://localhost:47285/jquery.form/Handler1.ashx?Action=formUpload").Headers(header).Upload(files: new[] {
- new NamedFileStream("file", "photo.jpg", "application/octet-stream", File.OpenRead(@"1.png"))
- }).OnSuccess(result =>
- {
- Console.Write(result);
- }).OnFail(webexception =>
- {
- Console.Write(webexception.Message);
- }).Go();
- }
- //upload file 显示进度 感觉没有用
- public void test7()
- {
- IDictionary<string, string> header = new Dictionary<string, string>();
- header.Add("Cookie", "ASP.NET_SessionId=jwgaqf0xzbsuc2ojb1dojwzg");
- Http.Post("http://183.66.231.18:8084/Document/Upload").Headers(header).Upload(files: new[] {
- new NamedFileStream("file", "1.png", "application/octet-stream", File.OpenRead(@"1.png"))
- }, onProgressChanged: (bytesSent, totalBytes) =>
- {
- var num = ((double)bytesSent / totalBytes.Value) * ;
- num = Math.Round(num, );
- Console.WriteLine($"Uploading: {num}%");
- }).OnSuccess(result =>
- {
- Console.Write(result);
- }).OnFail(webexception =>
- {
- Console.Write(webexception.Message);
- }).Go();
- }
- //down file 显示下载进度
- public void test8()
- {
- Http.Get("http://localhost:47285/jquery.form/梁场数据.zip").DownloadTo(@"1111.zip", onProgressChanged: (bytesCopied, totalBytes) =>
- {
- if (totalBytes.HasValue)
- {
- var num = ((double)bytesCopied / totalBytes.Value) * ;
- num = Math.Round(num, );
- Console.WriteLine($"Downloaded: {num}%");
- }
- Console.WriteLine("Downloaded: " + bytesCopied.ToString() + " bytes");
- }, onSuccess: (headers) =>
- {
- Console.WriteLine("Download Complete");
- }).Go();
- }
- public string HttpPostRaw(string url, string data)
- {
- string value = "";
- HttpWebRequest reqest = (HttpWebRequest)WebRequest.Create(url);
- reqest.Method = "POST";
- reqest.ContentType = "application/json";
- Stream stream = reqest.GetRequestStream();
- byte[] bs = System.Text.Encoding.UTF8.GetBytes(data);
- stream.Write(bs, , bs.Length);
- stream.Flush();
- stream.Close();
- HttpWebResponse response = (HttpWebResponse)reqest.GetResponse();
- StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
- value = sr.ReadToEnd();
- response.Close();
- return value;
- }
- public void kk2()
- {
- System.Net.WebClient wc = new System.Net.WebClient();
- string strUrlPara = "{ \"uri\": \"rtsp://admin:kj20091228@149.129.67.70:5554/Streaming/Channels/102?transportmode=unicast\"}";
- byte[] data = new ASCIIEncoding().GetBytes(strUrlPara);
- byte[] responseArray = wc.UploadData("http://149.129.67.70:8080/start", data);
- var response = Encoding.UTF8.GetString(responseArray);
- Console.WriteLine(response);
- }
- }
- }
开源项目 02 HttpLib的更多相关文章
- .NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍
1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过 ...
- 【目录】本博客其他.NET开源项目文章目录
本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平 ...
- 收集常用的.net开源项目
Json.NET http://json.codeplex.com/ Json.NET是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单.通过Lin ...
- [转] Android优秀开源项目
Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习.今天爬爬把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助.另外, ...
- .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB
今天给大家介绍一个不错的小巧轻量级的NoSQL文件数据库LiteDB.本博客在2013年也介绍过2款.NET平台的开源数据库: 1.[原创]开源.NET下的XML数据库介绍及入门 2.[原创]C#开源 ...
- Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...
- 59.Android开源项目及库 (转)
转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...
- C# 开源项目一
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK E ...
- iOS及Mac开源项目和学习资料【超级全面】
UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...
随机推荐
- ECharts折线图堆叠设置为不堆叠的方法
下图是ECharts折线图堆叠的官方源码,设置折线图不堆叠只需要将每一个stack的值设置为不一样的名称或者将stack属性删除即可. option = { title: { text: '折线图堆叠 ...
- kube-state-metrics 详解
原文:https://mp.weixin.qq.com/s/176eyFBknzdA5wpiJrxDSg 概述 已经有了 cadvisor.heapster.metric-server,几乎容器运行的 ...
- 【转】StackTraceElement获取方法调用栈的信息
本文链接:https://blog.csdn.net/hp910315/article/details/52702199 一.什么是StackTrace StackTrace(堆栈轨迹)存放的就是方法 ...
- windows mysql 5.5.62 安装
下载链接: https://dev.mysql.com/downloads/installer/ mysql下载这边有句话,虽然是32位的安装包,但是可以装在32位和64位上. 建议迅雷下载. 然后打 ...
- day 03作业
目录 作业 简述执行Python程序的两种方式以及他们的优缺点: 简述Python垃圾回收机制: 对于下述代码: 10的引用计数为多少? x对应的变量值257的引用计数为多少? 简述Python小整数 ...
- 构建nodejs环境
总想留下点东西,不负年华! 00.download releasehttps://nodejs.org/dist/ //all release example https://nodejs. ...
- [I2C].I2C总线详解
转自:https://www.cnblogs.com/BitArt/archive/2013/05/27/3101037.html 一. 基本信息 1. 概述 I²C 是Inter-Integrate ...
- 【Flask】 python学习第一章 - 5.0 模板
jinjia2 模板 python实现 flask 内置语言 参照Djago实现 设置模板文件夹 设置模板语言 jinja2 demo6_template.html ----> 从代码渲染 ...
- pyecharts绘制map地图
pyecharts的安装和地图库的安装可以参照 geo绘图:https://www.cnblogs.com/qi-yuan-008/p/12025123.html 直接进入 python的具体使用阶段 ...
- pycharm新建项目后按钮灰色问题
同样适用于导入别人的新项目后无法运行问题 原因一: pycharm没有设置系统解析器 解决方法一: 打开pycharm->File->Settings->Project Interp ...