Example #1
0
        IEnumerator DownloadUrl(string url)
        {
            downloadUrlResponse = new DownloadUrlResponse();
            UnityWebRequest request = UnityWebRequest.Get(url);

            request.SetRequestHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Chrome)");
            yield return(request.Send());

            downloadUrlResponse.httpCode = request.responseCode;
            if (request.isNetworkError)
            {
                Debug.Log("Youtube UnityWebRequest isNetworkError!");
            }
            else if (request.isHttpError)
            {
                Debug.Log("Youtube UnityWebRequest isHttpError!");
            }
            else if (request.responseCode == 200)
            {
                Debug.Log("Youtube UnityWebRequest responseCode 200: OK!");
                if (request.downloadHandler != null && request.downloadHandler.text != null)
                {
                    downloadUrlResponse.isValid = true;
                    downloadUrlResponse.data    = request.downloadHandler.text;
                }
                else
                {
                    Debug.Log("Youtube UnityWebRequest Null response");
                }
            }
            else
            {
                Debug.Log("Youtube UnityWebRequest responseCode:" + request.responseCode);
            }
        }
    IEnumerator DownloadYoutubeUrl(string url, System.Action <string> callback)
    {
        downloadYoutubeUrlResponse = new DownloadUrlResponse();
        var videoId = url.Replace("https://youtube.com/watch?v=", "");

        var             newUrl  = "https://www.youtube.com/watch?v=" + videoId + "&gl=US&hl=en&has_verified=1&bpctr=9999999999";
        UnityWebRequest request = UnityWebRequest.Get(url);

        request.SetRequestHeader("User-Agent", "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 (Chrome)");
        yield return(request.SendWebRequest());

        downloadYoutubeUrlResponse.httpCode = request.responseCode;
        if (request.isNetworkError)
        {
            Debug.Log("Youtube UnityWebRequest isNetworkError!");
        }
        else if (request.isHttpError)
        {
            Debug.Log("Youtube UnityWebRequest isHttpError!");
        }
        else if (request.responseCode == 200)
        {
            //Debug.Log("Youtube UnityWebRequest responseCode 200: OK!");
            if (request.downloadHandler != null && request.downloadHandler.text != null)
            {
                if (request.downloadHandler.isDone)
                {
                    downloadYoutubeUrlResponse.isValid = true;
                    downloadYoutubeUrlResponse.data    = request.downloadHandler.text;
                }
            }
            else
            {
                Debug.Log("Youtube UnityWebRequest Null response");
            }
        }
        else
        {
            Debug.Log("Youtube UnityWebRequest responseCode:" + request.responseCode);
        }

        StartCoroutine(GetUrlFromJson(callback, videoId, request.downloadHandler.text));
    }