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的更多相关文章

  1. .NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍

    1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过 ...

  2. 【目录】本博客其他.NET开源项目文章目录

    本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平 ...

  3. 收集常用的.net开源项目

    Json.NET http://json.codeplex.com/ Json.NET是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单.通过Lin ...

  4. [转] Android优秀开源项目

    Android经典的开源项目其实非常多,但是国内的博客总是拿着N年前的一篇复制来复制去,实在是不利于新手学习.今天爬爬把自己熟悉的一些开源项目整理起来,希望能对Android开发同学们有所帮助.另外, ...

  5. .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB

    今天给大家介绍一个不错的小巧轻量级的NoSQL文件数据库LiteDB.本博客在2013年也介绍过2款.NET平台的开源数据库: 1.[原创]开源.NET下的XML数据库介绍及入门 2.[原创]C#开源 ...

  6. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

  7. 59.Android开源项目及库 (转)

    转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...

  8. C# 开源项目一

    商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK E ...

  9. iOS及Mac开源项目和学习资料【超级全面】

    UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...

随机推荐

  1. 计算几何-凸包算法 Python实现与Matlab动画演示

    凸包算法是计算几何中的最经典问题之一了.给定一个点集,计算其凸包.凸包是什么就不罗嗦了 本文给出了<计算几何——算法与应用>中一书所列凸包算法的Python实现和Matlab实现,并给出了 ...

  2. The five Day 水平翻转图像,然后反转图像并返回结果

    """ 给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果. 水平翻转图片就是将图片的每一行都进行翻转,即逆序.例如,水平翻转 [1, 1, 0] 的结 ...

  3. The four Day 给出一个平衡字符串,将它分割成尽可能多的平衡字符串

    """ 在一个「平衡字符串」中,'L' 和 'R' 字符的数量是相同的. 给出一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串. 返回可以通过分割得到的平衡字符串的 ...

  4. 解决h5版的uniapp请求跨域问题

    uni项目里有个名为manifest.json文件 编辑manifest.json文件,找到h5选项,里面一般有个名为“devServer”索引,往这个索引中添加一个“proxy”或者编辑,值为请求域 ...

  5. vuex的Store简单使用过程

    介绍 Store的代码结构一般由State.Getters.Mutation.Actions这四种组成,也可以理解Store是一个容器,Store里面的状态与单纯的全局变量是不一样的,无法直接改变st ...

  6. 阿里云主机centos7系统创建SWAP区,并启动挂载(适合无SWAP区虚拟化平台)

    以root用户登录建立交换区文件: fallocate -l 2G /swapfile /swapfile //赋予仅root用户的权限,确保安全 mkswap /swapfile swapon /s ...

  7. Unity - LayerMask简析

    本文简述了LayerMask的定义,后通过项目实战充分解析 LayerMask中的GetMask.LayerToName.NameToLayer 等函数的使用方法及其注意事项. 项目地址:3D坦克大战 ...

  8. Spring-Cloud之Hystrix熔断器-5

    一.在分布式系统中,服务与服务之间的依赖错综复杂,一种不可避免的情况就是某些服务会出现故障,导致依赖于它们的其他服务出现远程调度的线程阻塞 Hystrix是Netflix 公司开源的一个项目,它提供了 ...

  9. Matlab原型模式

    原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象.Matlab面向对象编程有两种类,一种是Value Class,一种是Ha ...

  10. Java知识回顾 (16)常用操作的Java示例

    环境设置 Java 实例 – 如何编译一个Java 文件? Java 实例 – Java 如何运行一个编译过的类文件? Java 实例 - 如何执行指定class文件目录(classpath)? Ja ...