返回

代码获取网页信息 | Unity中使用代码抓取URL链接网页的标题、元描述等信息

Android

实战篇 | 教你如何在Unity中通过代码获取URL链接网页的标题等各种信息✨

现在我们来学习如何通过C#代码来获取URL链接网页的标题等信息。

前言

在Unity中使用URL连接Web网页,我们有几种常见的方式:

  1. 使用WWW类。
  2. 使用WebRequest类。
  3. 使用第三方库,例如UniWeb。

一、WWW类

WWW类是Unity提供的一个用于发送HTTP请求和获取网页信息的类。它使用简单,但性能可能较低。

以下是如何使用WWW类来获取URL链接网页的

using UnityEngine;
using System.Collections;

public class GetWebPageTitle : MonoBehaviour
{
    public string url = "https://www.google.com";

    void Start()
    {
        StartCoroutine(GetWebPageTitleCoroutine());
    }

    IEnumerator GetWebPageTitleCoroutine()
    {
        WWW www = new WWW(url);
        yield return www;

        if (www.error == null)
        {
            string html = www.text;

            string title = GetTitleFromHtml(html);

            Debug.Log(title);
        }
        else
        {
            Debug.Log(www.error);
        }
    }

    string GetTitleFromHtml(string html)
    {
        string title = string.Empty;

        int startIndex = html.IndexOf("");

        if (startIndex != -1 && endIndex != -1)
        {
            title = html.Substring(startIndex + 7, endIndex - startIndex - 7);
        }

        return title;
    }
}

二、WebRequest类

WebRequest类是.NET Framework提供的一个用于发送HTTP请求和获取网页信息的类。它比WWW类更灵活,但使用起来也更复杂。

以下是如何使用WebRequest类来获取URL链接网页的

using UnityEngine;
using System.Collections;
using System.Net;

public class GetWebPageTitle : MonoBehaviour
{
    public string url = "https://www.google.com";

    void Start()
    {
        StartCoroutine(GetWebPageTitleCoroutine());
    }

    IEnumerator GetWebPageTitleCoroutine()
    {
        WebRequest request = WebRequest.Create(url);

        WebResponse response = request.GetResponse();

        StreamReader reader = new StreamReader(response.GetResponseStream());

        string html = reader.ReadToEnd();

        reader.Close();
        response.Close();

        string title = GetTitleFromHtml(html);

        Debug.Log(title);
    }

    string GetTitleFromHtml(string html)
    {
        string title = string.Empty;

        int startIndex = html.IndexOf("");

        if (startIndex != -1 && endIndex != -1)
        {
            title = html.Substring(startIndex + 7, endIndex - startIndex - 7);
        }

        return title;
    }
}

三、第三方库

有许多第三方库可以帮助我们在Unity中获取URL链接网页的信息。这些库通常使用起来更简单,而且性能也更好。

以下是一些常用的第三方库:

  • UniWeb
  • RestSharp
  • SuperSocket

结语

通过使用WWW类、WebRequest类或第三方库,我们可以轻松地在Unity中获取URL链接网页的标题等信息。

希望本教程对您有所帮助。如果您有任何问题,请随时提出。