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. Android Studio 打包生成apk

    打开AndroidStudio,并且打开想要生成apk文件的项目  点击工具栏上面的“Builder”  点击“Builder”之后在下拉菜单里面可以看到“Genarate Singed APK”,点 ...

  2. Java的基本知识之线程池篇

    1.基本概念 1.共享资源 多个线程对同一份资源进行访问(读写操作),该资源被称为共享资源.如何保证多个线程访问到的数据是一致的,则被称为数据同步或资源同步. 2.线程通信 线程通信,又叫进程内通信, ...

  3. 软工个人项目———WC.exe(Java实现)

    一.github地址 https://github.com/hhw-15521301615/hello-world 二.PSP表格 PSP2.1 Personal Software Process S ...

  4. 【python】文件操作

    基本语法 open("文件名","访问方式") # 1. 打开文件 file = open("README.txt") # 2. 读取文件内 ...

  5. Linux DNS 主从复制

    设置主从DNS的主要是为了冗余,分担压力,防止服务器宕机后,DNS无法正常解析. 配置 master 正常配置DNS服务. 设置主机名 [root@localhost ~]# hostnamectl ...

  6. 蓝桥杯-基础练习 :java 数列排序问题

    问题描述 给定一个长度为n的数列,将这个数列按从小到大的顺序排列.1<=n<=200 输入格式 第一行为一个整数n. 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000. 输 ...

  7. linux服务器中安装VSCode

    Centos7系统 步骤:在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载压缩包访问Visual Studio Code官网 https://code.vis ...

  8. linux中container_of

    linux 驱动程序中 container_of宏解析 众所周知,linux内核的主要开发语言是C,但是现在内核的框架使用了非常多的面向对象的思想,这就面临了一个用C语言来实现面向对象编程的问题,今天 ...

  9. python_多线程

    1.多线程的实现与阻塞 import time import threading def fun_yellow(num): for i in range(1,num+1): print('正在拿第:' ...

  10. MSF MS12-020RDP漏洞攻击

    Metasploit利用远程桌面协议RDP拒绝访问漏洞(MS12-020) 漏洞描述:BUGTRAQ ID: 52354 CVE ID: CVE-2012-0152 远程桌面协议(RDP, Remot ...