Golang 检查 URL/网站的状态

Golang 检查 URL/网站的状态

在这里,我们将使用 Golang 检查 URL 的状态。首先,我们将导入简单的 fmt 包,并使用 scan 函数将输入存储在字符串类型的变量中。

// 输入 URL 的 Go 程序
package main
 
import (
    "fmt"
)
func main() {
    var url string
    fmt.Print("输入网站 URL:")
    fmt.Scan(&url)
} 
Go

创建一个文件,它可以是任何你想要的名称,但它应该有 .go 扩展名。您可以通过执行以下命令运行脚本:

go run 文件名.go

在这个脚本中,我们声明了一个类型为字符串的 URL 变量。我们只是为输入显示了一个信息性的消息,该输入使用 Scan 函数进行了输入,并存储在 URL 变量中。

使用 HTTP 的 Get 函数

现在我们有了变量中的 URL,我们可以在 Golang 中设置 HTTP 模块来获取网站数据或简单地获取元数据。我们需要将 “net/http” 模块导入我们的程序中。

在导入了 HTTP 模块之后,我们可以访问库中提供的 Get 函数,因此使用 Get 方法,我们可以通过向所提供的 URL 发送 GET 请求来简单地获取响应。Get 函数将 URL 作为参数并返回响应,否则它将返回错误,这可能是 URL 不存在或无效的情况。

// 输入 URL 的 Go 程序
package main
 
import (
    "fmt"
    "net/http"
)
func main() {
    var url string
    fmt.Print("输入网站 URL:")
    fmt.Scan(&url)
    resp,err := http.Get(url)
    fmt.Print(resp)
    fmt.Print(err)
} 
Go

可以通过添加 if-else 条件进行错误检查和程序的退出状态来进一步改进程序。因此,可以使用 Golang 中的日志模块记录 Get 函数调用的错误。

// 输入 URL 的 Go 程序
package main
 
import (
    "fmt"
    "net/http"
    "log"
)
func main() {
    var url string
    fmt.Print("输入网站 URL:")
    fmt.Scan(&url)
    resp,err := http.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Print(resp)
} 
Go

输出:

Golang 检查 URL/网站的状态

如我们所见,我们从给定的 URL 收到了一个响应头。现在,我们将看到如何从收到的响应对象中获取状态代码。

检查响应状态码

最后,我们需要检查发送 GET 请求到所提供的 URL 后收到的响应的状态代码。我们只需打印 URL 的状态代码,用户可以进一步解释或根据要求修改,例如重定向、成功、内部错误或未找到。

// 检查响应状态代码的 Go 程序
package main
 
import (
    "fmt"
    "net/http"
    "log"
)
 
func main() {
    var url string
    fmt.Print("输入网站 URL:")
    fmt.Scan(&url)
    resp,err := http.Get(url)
    if err != nil {
        log.Fatal(err)
    }
    status_code := resp.StatusCode
    fmt.Println(status_code,":",url)
} 
Go

在上面的脚本中,我们可以使用点前缀与名称” Status Code” 并将其简单存储在 status_code 变量中,从响应中访问状态码。

Golang 检查 URL/网站的状态

Golang 检查 URL/网站的状态

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册