HttpWebResquest的用法

unity 內置的訪問Http的類  HttpWebRequest。使用起來很方便,簡單的示例如下:

using UnityEngine;
using System.Net;
using System.IO;
using System;
public  class HttpWebResquestTool : MonoBehaviour {

    //讀取鏈接裏的字符串數據
    public static string HttpWebResquestString(string url)
    {
        if(!CheckUrlValid(url))
        {
            Debug.LogError("url  無效");
            return null;
        }
        HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
        HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse();
        Stream stream = webResponse.GetResponseStream();
        StreamReader reader = new StreamReader(stream);
        string Data = reader.ReadToEnd();

        stream.Close();
        reader.Close();
        webResponse.Close();
        request.Abort();
        return Data;
    }
    /// <summary>
    /// 檢測URL是否有效
    /// </summary>
    /// <param name="url"></param>
    /// <returns></returns>
    public static  bool CheckUrlValid(string url)
    {
        Uri uriResult;
        bool result = Uri.TryCreate(url, UriKind.Absolute, out uriResult);
        if(result)
        {
            uriResult = new Uri(url);
            if(uriResult.Scheme == Uri.UriSchemeHttps || uriResult.Scheme == Uri.UriSchemeHttp)
                return true;
        }
        return false;
    }


    //將字節大小化爲字符串 如1024 變爲 1KB。
    public static string ByteToString(long length)
    {

        float M = length / 1024.0f / 1024.0f;
        if(M > 0.5f)
        {
            return M.ToString("0.0") + "M";
        }
        else
        {
            float kb = length / 1024.0f;
            if(kb > 0.5f)
                return kb.ToString("0.0") + "KB";
            else
                return length.ToString() + "B";
        }

    }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章