http://blog.csdn.net/u012322710/article/details/52860747

Best HTTP (Pro)  这是一款很多公司都在用的网页插件,感觉确实不错,分Pro版本和普通版本,下载地址:http://www.manew.com/thread-96247-1-1.html

需要你对http短连接有一定的了解。废话不多说啊,开搞!

因为自己找教程的时候,就找到一篇文章,还写的不多,本来想写的细一点,把大部分功能都写一下,还蛮多的,有点偷懒,上传流文件,下载上传进度其实插件的PDF都有,看一下就差不多,我这只是抛砖引玉。

  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.UI;
  4. using System.Collections.Generic;
  5. //需要的命名空间
  6. using BestHTTP;
  7. using BestHTTP.Statistics;
  8. using BestHTTP.Cookies;
  9. using System;
  10. using System.IO;
  11. public class bestHttpDemo : MonoBehaviour {
  12. public RawImage image;
  13. public Text showResponse;
  14. //Get请求   不写HTTPMethods.Get默认也是Get
  15. public void OnGetRequest()
  16. {
  17. HTTPRequest request = new HTTPRequest(new Uri("https://www.baidu.com/"), HTTPMethods.Get, OnRequestFinished);
  18. request.Send();
  19. }
  20. //请求回调   request请求  response响应  这两个参数必须要有 委托类型是OnRequestFinishedDelegate
  21. void OnRequestFinished(HTTPRequest request, HTTPResponse response)
  22. {
  23. showResponse.text = "响应:" + response.DataAsText;
  24. }
  25. //下载图片
  26. public void OnLoadImage()
  27. {
  28. //Lambda表达式,下载直接回调,简便写法。
  29. new HTTPRequest(new Uri("http://img.manew.com/data/attachment/forum/201610/19/155755pbw4tt22zznczohh.png"), (request, response) =>
  30. {
  31. image.texture = response.DataAsTexture2D;
  32. //保存图片
  33. try
  34. {
  35. if (Application.platform == RuntimePlatform.Android)
  36. {
  37. //在PlayerSetting里修改 WriteAccess写入入口为外部SDCard   (这里还有问题,安卓里没存上,还没搞懂为什么)
  38. //Application.persistentDataPath  在安卓上  /mnt/sdcard/Android/data/com.zou.chongyang/files
  39. File.WriteAllBytes("jar:file://" + Application.persistentDataPath + "/MyImage.png", response.Data);
  40. }
  41. else
  42. {
  43. File.WriteAllBytes(Application.dataPath + "/MyImage.png", response.Data);
  44. }
  45. }
  46. catch (IOException e)
  47. {
  48. print(e);
  49. }
  50. }).Send();
  51. }
  52. /*
  53. //最好自己去看BestHTTPDocumentationEN.pdf文档,功能蛮多的。
  54. //BestHttp更多API  还蛮多的,懒得弄到UI上显示,自己拿着用吧。
  55. public void BestHttpAPI()
  56. {
  57. GeneralStatistics stats = HTTPManager.GetGeneralStatistics(StatisticsQueryFlags.All); //获取统计信息,统计类型全部
  58. BestHTTP.Caching.HTTPCacheService.IsSupported        //是否支持缓存(只读)
  59. stats.CacheEntityCount.ToString();                   //缓存对象个数
  60. stats.CacheSize.ToString("N0");                      //缓存总大小
  61. BestHTTP.Caching.HTTPCacheService.BeginClear();      //清空缓存
  62. BestHTTP.Cookies.CookieJar.IsSavingSupported        //是否支持保存Cookie(只读)
  63. stats.CookieCount.ToString();                       //Cookie个数
  64. stats.CookieJarSize.ToString("N0");                 //Cookie总大小
  65. BestHTTP.Cookies.CookieJar.Clear();                 //清空Cookie
  66. HTTPManager.GetRootCacheFolder()                    //获取缓存和Cookies目录路径
  67. stats.Connections.ToString();                       //Http连接数
  68. stats.ActiveConnections.ToString();                 //激活的Http连接数
  69. stats.FreeConnections.ToString();                   //空闲的Http连接数
  70. stats.RecycledConnections.ToString();               //回收的Http连接数
  71. stats.RequestsInQueue.ToString();                   //Request请求在队列的数量
  72. BestHTTP.HTTPManager.OnQuit();                      //退出统计
  73. //缓存维护  缓存最大1mb,   删除2天前的缓存
  74. BestHTTP.Caching.HTTPCacheService.BeginMaintainence(new BestHTTP.Caching.HTTPCacheMaintananceParams( TimeSpan.FromDays(2),1 *1024*1024 ));
  75. //Cookie维护  删除7天前的Cookie并保持在最大允许大小内。
  76. BestHTTP.Cookies.CookieJar.Maintain();
  77. //获取Cookie集合
  78. List<Cookie> cookie = CookieJar.Get(new Uri("https://www.baidu.com/"));
  79. //Cookie的API很多
  80. cookie[0].Name
  81. cookie[0].Domain
  82. cookie[0].Value
  83. }
  84. */
  85. }

Cookie介绍: https://my.oschina.net/jihan19921016/blog/506473

总结:不错,很好用!

随机推荐

  1. 策略(Strategy)模式

    /* * 环境(Context)角色:持有一个Strategy类的引用. * 抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现.此角色给出所有的具体策略类所需的接口. * ...

  2. datatables表格行内编辑的实现

    Datatables是一款jquery表格插件,它是一个高度灵活的工具,灵活就意味着很多功能需要自己去实现,比如说行内编辑功能. Datatables自己是没有行内编辑功能的,最简单的是通过modal ...

  3. HackTwo

    使用延迟加载以及避免代码重复 ​一.概要:     <include />标签是整理布局的有效工具,提供了合理组织XML布局文件的有效方法.     ViewStub是实现延迟加载视图的优 ...

  4. .NET Core Api 集成 swagger

    废话不多讲 第一步  当然是要通过 NuGet 安装第三方插件 swagger 程序包管理器控制台,安装命令:Install-Package Swashbuckle.AspNetCore -Pre 第 ...

  5. I-team 博客全文检索 Elasticsearch 实战

    一直觉得博客缺点东西,最近还是发现了,当博客慢慢多起来的时候想要找一篇之前写的博客很是麻烦,于是作为后端开发的楼主觉得自己动手丰衣足食,也就有了这次博客全文检索功能Elasticsearch实战,这里 ...

  6. 最小生成树(kruscal算法)

    其实kruscal算法很简单,把边从小到大排一遍,如果加入此边形成环,就不加,知道这棵树有n-1条边. 代码如下(一定要理解): #include<iostream> #include&l ...

  7. pdo 预处理

      <?php /* * pdo 预处理sql */ $dsn = "mysql:dbname=0328;host=localhost"; $username = " ...

  8. 快速搭建hadoop,学习使用

    1.准备Linux环境 1.0先将虚拟机的网络模式选为NAT 1.1修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=myvm ### 1 ...

  9. day6学python 生成器迭代器+压缩文件

    生成器迭代器+压缩文件 readme的规范 1软件定位,软件的基本功能2运行代码的方法:安装环境,启动命令3简要的使用说明4代码目录结构说明,更详细点可以说明软件的基本原理5常见问题说明 ====== ...

  10. 【离散数学】SDUT OJ 补图

    补图 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 题目给出一个无向图,求该无向图关 ...