using UnityEngine;
using System;
using System.Collections;
using System.Net;
using System.Text;
using System.Web;

public class GainToken : MonoBehaviour {


 
	// Use this for initialization
	void Start () { 
	
	
	}
	

    public string content;
    private string GetToken()
    {
        string xml = "............";//提供的XML/Json数据
        try
        {
            byte[] data = Encoding.Default.GetBytes(xml);
            string url = "..........";//提供获取Token值的服务地址(很重要)
            
            //如果不了解HttpWebRequest类,进入网址https://msdn.microsoft.com/zh-cn/library/system.net.httpwebresponse.aspx查询
            HttpWebRequest requst = (HttpWebRequest)WebRequest.Create(url);//获取
            requst.Method = "POST";//请求服务的方式
            System.IO.Stream sm = requst.GetRequestStream();//Web请求
            sm.Write(data, 0, data.Length);//XML数据
            sm.Close();
            HttpWebResponse response = (HttpWebResponse)requst.GetResponse();//响应WebResponse从互联网上的资源。
            System.IO.Stream streamResponse = response.GetResponseStream();
            
             //获取到的Token值
            System.IO.StreamReader streamRead = new System.IO.StreamReader(streamResponse, Encoding.UTF8);
            Char[] readBuff = new Char[256];//字节数
            int count = streamRead.Read(readBuff, 0, 256);

            //转换Token值为string形式
            while (count > 0)
            {
                string outputData = new string(readBuff, 0, count);
                content += outputData;
                count = streamRead.Read(readBuff, 0, 256);
            }

            response.Close();//关闭Token值请求(一定要关闭,要不然会程序会死掉)

        }
        catch (System.Exception ex)
        {
            ex.ToString();        
        }
         return content;


    }
    
    
    接下来,通过获取的token值,得到URL =“http://" + ip:port + "..." + token +"....";
    
    通过WWW类和协程获取服务器上的数据,解析。。。。。。
    
    下面的东西就不说了,很简单的!!
    
    
    补充一个知识:获取下来的字符串有些是多余的,我们可以将多余的摘掉,
     public static string GetTokenXML(string str, string startStar, string endStr)
    {
        int start = str.IndexOf(startStar);
        int end = str.IndexOf(endStr);
        int leng = end - (start + startStar.Length);
        if (start == -1)
        {
            return "";
        }
        else if (end == -1)
        {
            return "";
        }
        else
        {
            return str.Substring(start + startStar.Length, leng);
        }
    }