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. c#读取数据库内容

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

  2. RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'

    参考链接:https://www.cnblogs.com/daryl/archive/2017/10/13/7645749.html 全部步骤和参考链接相同. 前八部都正常,在第九步会报错Error: ...

  3. [Violet]樱花

    题目链接 洛谷 狗粮版 前置技能 初中基础的因式分解 线性筛 \(O(nlog)\)的分解质因数 唯一分解定理 题解 首先来分解一下式子 \[\frac{1}{x}+\frac{1}{y}=\frac ...

  4. kubernetes dashboard 安装

    环境:CentOS Linux release 7.3.1611 (Core)IP:192.168.0.103 [1]组件安装yum install device-mapperyum install ...

  5. 第0篇 Python前言

    1.注释 1)注释的作用: 用自己熟悉的语言在代码中添加注释,方便后期自己查看和理解,也方便其他人查看和理解代码含义. 2)单行注释: 以#号开头,#后面的所有内容均不会被程序执行,起到辅助说明的作用 ...

  6. 查看Eclipse版本号的方法及各个版本区别 Eclipse选择标准

    这篇文章主要介绍了查看Eclipse版本号的方法及各个版本区别 Eclipse选择标准,方便初学者选择适合自己的版本,需要的朋友可以参考下 Eclipse 是一个开放源代码的.基于Java的可扩展开发 ...

  7. Tomcat 连接数与线程池详解

    前言 在使用tomcat时,经常会遇到连接数.线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在前面的文章 详解Tomcat配置文件server.xm ...

  8. mysql5.6 的st_distance 实现按照距离远近排序。

    当前所处在的位置(113.858202 , 22.583819 ),需要查询我附近1000米内的小区,并安装由近到远的顺序排列  SELECT s.id,s.name,s.lng,s.lat, rou ...

  9. python-day15---面向对象

    面向对象零:面向对象的说明: 面向过程和面向对象: 面向对象:一切以对象为中心(解决的问题本身) 面向过程:一切以过程为中心(解决问题的步骤) 面向对象我们用 “ class 类名:” 来表示面向对象 ...

  10. 栈 - 20 Valid Parentheses, 150 Evaluate Reverse Polish Notation

    class Solution { public: bool isValid(string s) { stack<char> st; ; i<s.size(); i++){ if(s[ ...