开源项目 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 ...
随机推荐
- Java jms学习
/** * <html> * <body> * <P> https://github.com/Jasonandy </p> * <p> Al ...
- C# 练习题 将一个正整数分解质因数
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程 ...
- (转).Net Core控制台生成exe能独立运行
原文介绍了两种方式,方式一经测试可用(生成exe在开发机器上可运行),但是因为服务器是windows server2012 r2,没有安装补丁,造成了困难,尚未在服务器上运行成功. (提示 api-m ...
- 使用poi统计工作职责
1 创建一个新的sheet工作页 Sheet job = workbook.createSheet("工作职责统计"); 2 查询工作职责问题选项列表,并设置第一行倒出时间 Lis ...
- pandas-01 Series()的几种创建方法
pandas-01 Series()的几种创建方法 pandas.Series()的几种创建方法. import numpy as np import pandas as pd # 使用一个列表生成一 ...
- vue中监听页面是否有回车键按下
需求:当我在登录页面输入密码和账号后,按下回车键实现登录 mounted(){ let _this = this document.onkeydown = function(e) { if(e.key ...
- Oracle队列实现
Oracle队列实现 -- 核心技术点:for update 创建测试表 create table t ( id number primary key, processed_flag va ...
- idea忽略并隐藏.idea文件夹.iml文件不提交到svn
File-->setting-->Editor-->File Types 选中.boringignore,添加*.iml;.idea;即可
- 精选SpringBoot八大开源项目:支付、秒杀、全文搜索等
前言 曾在自己的博客中写下这样一段话:有一种力量无人能抵挡,它永不言败生来倔强.有一种理想照亮了迷茫,在那写满荣耀的地方. 如今,虽然没有大理想抱负,但是却有自己的小计划.下面是这一年来,自己利用闲暇 ...
- 基于GDI显示png图像
intro 先前基于GDI已经能够显示BITMAP图像:windows下控制台程序实现窗口显示 ,其中BMP图像是使用LoadImage()这一Win32 API函数来做的.考虑到LoadImage( ...