登录
首页 >  Golang >  Go问答

go中如何获取页面名称?

来源:stackoverflow

时间:2024-03-29 17:51:23 203浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《go中如何获取页面名称?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我有一个函数应该获取页面名称并打印它,例如,如果 URL 是 http://localhost:8080/login.html 该函数应该打印 login.html


正确答案


如果您只需要解析 url,您可以使用以下内容:

package main

import (
    "fmt"
    "net/url"
)

func main() {
    url := "http://localhost:8080/login.html"

    name, err := getpagename(url)

    if err != nil {
        panic(err)
    }

    fmt.println(name)
}

func getpagename(url string) (string, error) {
    u, err := url.parse(url)

    if err != nil {
        return "", err
    }

    return u.path[1:], nil // to remove initial /

}

如果您需要获取页面的 html 并解析 的标题,您可以使用 go-query

package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/PuerkitoBio/goquery"
)

func main() {
    URL := "https://stackoverflow.com"

    res, err := http.Get(URL)

    if err != nil {
        log.Fatal(err)
    }
    defer res.Body.Close()

    if res.StatusCode != 200 {
        log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
    }

    // Load the HTML document
    doc, err := goquery.NewDocumentFromReader(res.Body)
    if err != nil {
        log.Fatal(err)
    }

    title := doc.Find("title").Text()

    fmt.Println(title)
}

以上就是《go中如何获取页面名称?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>