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. 关于 XML 字段内容查询

    找到个总结相当好的知识点的归纳,记在自己的博客里也方便查询 /* sql xml 入门:     --by jinjazz     --http://blog.csdn.net/jinjazz     ...

  2. 国外物联网平台(4):Ayla Networks

    国外物联网平台(4)——Ayla Networks 马智 定位 Ayla企业软件解决方案为全球部署互联产品提供强大的工具 功能 Ayla的IoT平台包含3个主要组成部分: (1) Ayla嵌入式代理A ...

  3. C#静态类 静态方法与非静态方法比较

    静态类 在类(class)上加入static修饰,表示该类无法被实例化,并将该类中,无法实例化变量或函数 静态类的主要特性 仅包含静态成员 无法实例化 静态类的本质,时一个抽象的密封类,所以不能被继承 ...

  4. C#多线程编程实战1.7前台线程和后台线程

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  5. Office Diary(工作日记本)

    Office Diary 是一款免费.绿色小巧的写日记和收集文档资料的软件,界面效仿Office Word ,支持Word中常用的文字编辑排版功能,可以作为Microsoft Office产品系列的强 ...

  6. ajaxfileupload 跨域 (二级域名) 可行办法

    ajaxfileupload 跨二级域名 如 aa.fei.com 到 bb.fei.com 是可行的. 1.首先在html页面 ajaxfileupload上方加入 document.domain= ...

  7. Logic Controller(逻辑控制器)

    逻辑控制器主要用来控制采样器的执行顺序,仅对其子节点的逻辑控制器和采样器其作用. 1.Simple Controller(简单控制器) 简单控制器主要用来组织其他逻辑控制器和采样器,提供了一个块的结构 ...

  8. jmete察看结果树和body data乱码问题的解决办法

    jmeter察看结果树乱码问题的解决办法: (1)在jmeter的bin目录下找到jmeter.properties这个文件添加sampleresult.default.encoding=utf-8 ...

  9. spring 学习(一):使用 intellijIDEA 创建 maven 工程进行 Spring ioc 测试

    spring学习(一):使用 intellijIDEA 创建 maven 工程进行 Spring ioc 测试 ioc 概念 控制反转(Inversion of Control,缩写为IOC),是面向 ...

  10. 犯得错误QAQ

    1.十年OI一场空,不开longlong见祖宗(丢过150分) 2.计算完了再开数组,开的足足的.不要少开0:(丢过一共200分) 3.最大值,最小值一定开成7个f.(丢了20分). 4.freope ...