golang解析html网页的方法

 更新时间:2019年08月26日 09:16:50   作者:rambo_huang  
今天小编就为大家分享一篇golang解析html网页的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.先看一下整个结构:

主要是web和html目录,分别存放go代码和html相关的资源文件。

2.html代码比较简单,代码如下:

<html>
 <head>
 <title>Go web</title>
 </head>
 <body>
 <img src="/html/pics/girl.jpg" width="500" height="500">
 <form action="http://127.0.0.1:8080/login" method="post">
 用户名:<input type="text" name="username">
 密码:<input type="password" name="password">
 <input type="submit" value="登陆">
 </form>
 </body>
</html>

就是显示一张图片,然后加登陆表单。

3.而go代码也比较简单,如下:

package main
 
import (
 "fmt"
 "html/template"
 "log"
 "net/http"
)
 
func login(w http.ResponseWriter, r *http.Request) {
 r.ParseForm()
 if r.Method == "GET" {
 t, err := template.ParseFiles("html/login.html")
 if err != nil {
 fmt.Fprintf(w, "parse template error: %s", err.Error())
 return
 }
 t.Execute(w, nil)
 } else {
 username := r.Form["username"]
 password := r.Form["password"]
 fmt.Fprintf(w, "username = %s, password = %s", username, password)
 }
}
 
func main() {
 http.HandleFunc("/html/pics/", func(w http.ResponseWriter, r *http.Request) {
 http.ServeFile(w, r, r.URL.Path[1:])
 })
 http.HandleFunc("/login", login)
 err := http.ListenAndServe(":8080", nil)
 if err != nil {
 log.Fatal("ListenAndServe: ", err)
 }
}

主要是注意显示图片的路径,不能是原来的html的路径,必须是go认识的路径,所以图片的位置也设置了路由,见http.ServeFile方法,并注意html设置的图片路径。

以上这篇golang解析html网页的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Go Java算法之Excel表列名称示例详解

    Go Java算法之Excel表列名称示例详解

    这篇文章主要为大家介绍了Go Java算法之Excel表列名称示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • Go语言学习之goroutine详解

    Go语言学习之goroutine详解

    Goroutine是建立在线程之上的轻量级的抽象。它允许我们以非常低的代价在同一个地址空间中并行地执行多个函数或者方法,这篇文章主要介绍了Go语言学习之goroutine的相关知识,需要的朋友可以参考下
    2020-02-02
  • Golang使用Swagger文档教程详解

    Golang使用Swagger文档教程详解

    这篇文章主要为大家详细介绍Golang使用Swagger文档教程的相关知识,文中通过示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以学习一下
    2023-12-12
  • Golang实践笔录之读取yaml配置文件

    Golang实践笔录之读取yaml配置文件

    YAML是YAML Ain't a Markup Language的缩写,YAML不是一种标记语言,相比JSON格式的方便,这篇文章主要给大家介绍了关于Golang实践笔录之读取yaml配置文件的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Golang监听日志文件并发送到kafka中

    Golang监听日志文件并发送到kafka中

    这篇文章主要介绍了Golang监听日志文件并发送到kafka中,日志收集项目的准备中,本文主要讲的是利用golang的tail库,监听日志文件的变动,将日志信息发送到kafka中 ,需要的朋友可以参考一下
    2022-04-04
  • go实现fping功能

    go实现fping功能

    这篇文章主要介绍了go实现fping功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • GO语言协程互斥锁Mutex和读写锁RWMutex用法实例详解

    GO语言协程互斥锁Mutex和读写锁RWMutex用法实例详解

    这篇文章主要介绍了GO语言协程互斥锁Mutex和读写锁RWMutex用法详解,需要的朋友可以参考下
    2022-04-04
  • Golang实现心跳机制的示例详解

    Golang实现心跳机制的示例详解

    这篇文章主要为大家详细介绍了Golang实现心跳机制的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2024-04-04
  • go语言制作端口扫描器

    go语言制作端口扫描器

    本文给大家分享的是使用go语言编写的TCP端口扫描器,可以选择IP范围,扫描的端口,以及多线程,有需要的小伙伴可以参考下。
    2015-03-03
  • Go语言map元素的删除和清空

    Go语言map元素的删除和清空

    本文主要介绍了Go语言map元素的删除和清空,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04

最新评论