如何在Golang中使用net/http处理HTTP请求

答案:Golang通过net/http库处理HTTP请求,使用http.HandleFunc注册路由,http.ListenAndServe启动服务器,从*http.Request获取参数、头信息等,结合ResponseWriter返回响应,支持静态文件、JSON输出及状态码设置。

如何在golang中使用net/http处理http请求

在Golang中处理HTTP请求主要通过标准库net/http实现,它提供了简单而强大的接口来创建HTTP服务器和客户端。下面介绍如何使用它来处理常见的HTTP服务端请求。

设置基本的HTTP服务器

使用http.HandleFunc可以注册一个URL路径对应的处理函数,然后通过http.ListenAndServe启动服务器。

示例代码:

package main
import (
    “fmt”
    “net/http”
)

func helloHandler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintln(w, “Hello, World!”)
}

func main() {
    http.HandleFunc(“/hello”, helloHandler)
    fmt.Println(“Server starting on :8080…”)
    http.ListenAndServe(“:8080”, nil)
}

访问 http://localhost:8080/hello 将返回 “Hello, World!”。

立即学习“go语言免费学习笔记(深入)”;

读取请求数据

处理HTTP请求时,常需要获取查询参数、请求头、表单数据等信息。这些都可以从*http.Request对象中提取。

常见操作包括:

r.URL.Query():获取URL查询参数 r.Header.Get(“Content-Type”):读取请求头字段 r.Method:判断请求方法(GET、POST等) r.FormValue(“name”):获取表单字段值(自动解析POST和URL编码

示例:

青泥AI 青泥AI

青泥学术AI写作辅助平台

青泥AI 302 查看详情 青泥AI

func userInfoHandler(w http.ResponseWriter, r *http.Request) {
    if r.Method != “POST” {
        http.Error(w, “Method not allowed”, http.StatusMethodNotAllowed)
        return
    }

    name := r.FormValue(“name”)
    age := r.FormValue(“age”)
    fmt.Fprintf(w, “Name: %s, Age: %s”, name, age)
}

处理不同路由和静态文件

对于更复杂的路由需求,可以使用http.ServeMux进行路径分发,也可以直接用http.FileServer提供静态资源。

例如提供./static/目录下的文件:

fs := http.FileServer(http.Dir(“./static/”))
http.Handle(“/static/”, http.StripPrefix(“/static/”, fs))

自定义响应与状态码

通过ResponseWriter可控制输出内容和状态码。

例如返回JSON数据:

func jsonHandler(w http.ResponseWriter, r *http.Request) {
    w.Header().Set(“Content-Type”, “application/json”)
    w.WriteHeader(http.StatusOK)
    data := `{“message”: “success”}`
    w.Write([]byte(data))
}

注意先调用Header().Set和WriteHeader,再写入响应体。

基本上就这些。net/http足够应对大多数基础Web服务场景,结构清晰且无需依赖外部库。不复杂但容易忽略细节,比如表单解析前是否调用了r.ParseForm()(通常FormValue会自动处理),或响应头设置时机。

以上就是如何在Golang中使用net/http处理HTTP请求的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1146061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月2日 19:24:56
下一篇 2025年12月2日 19:25:28

相关推荐

  • PI持有人,提早出售和抽水机时机:有什么交易?

    解码pi网络动态:持有者应提前抛售,还是考虑泵币时机策略?我们深入分析了pi网络的最新动向。 PI持有者、提前卖出与泵币时机:其中有何玄机? PI网络一直是加密圈的热议话题,如今,“PI持有者、提前卖出、泵币时机”成为焦点。随着PI2DAY临近以及市场波动加剧,这或许是入场或调整持仓的黄金时机。 P…

    2025年12月8日
    000
  • Coinbase,包裹着令牌,Cardano&Litecoin:Defi的新时代?

    coinbase正在扩展其封装代币产品线,将cardano(ada)和litecoin(ltc)引入其base网络。这对defi意味着什么? Coinbase推出封装代币:Cardano与Litecoin加入Base网络,开启DeFi新篇章? 随着Coinbase在其Base链上新增封装代币支持,整…

    2025年12月8日
    000
  • AIOZ网络,Bitfinex以及分散创新的未来

    探索aioz网络的愿景,其bitfinex ama以及分散基础架构、ai、存储和流媒体中的创新进展。深入了解web3的未来。 AIOZ网络、Bitfinex与去中心化创新的新时代 AIOZ网络正在Web3领域掀起波澜,而它近期在Bitfinex上举办的AMA更是凸显了其独特的创新路径。让我们深入探究…

    2025年12月8日
    000
  • Ripple vs. Bitcoin:文档重新表面,Stablecoins出现 – 纽约分钟

    根据最新曝光的文件,ripple的早期设想甚至早于比特币的诞生。与此同时,stablecoins正逐渐削弱xrp的实际应用价值。未来将如何演变? 嘿,加密世界又迎来一波新动态。让我们来梳理一下Ripple与比特币之间的历史纠葛,并看看稳定币带来的现实冲击。一些旧邮件再次浮出水面,掀起了对过去的回忆,…

    2025年12月8日
    000
  • 仲裁:Defi被低估的电力室准备扑通了吗?

    仲裁是defi领域的沉睡巨兽吗?随着收入的增长、rwa(现实世界资产)的整合以及市场市值与tvl比率偏低,这种可能性正在上升。深入探讨为何仲裁正吸引着精明投资者的关注。 仲裁:被低估的Defi引擎,是否即将爆发? 作为以太坊的第二层扩展解决方案,仲裁正悄然崛起,逐渐成为行业中的佼佼者。尽管其代币价格…

    2025年12月8日
    000
  • 欧易okx与币安binance如何选 2025年虚拟货币交易所分析

    在快速演进的虚拟货币市场中,选择一个合适的交易平台是每位参与者的重要决策。站在2025年的时间节点回望,欧易 okx 与币安 binance 已成为全球领先的交易所,它们各自的发展轨迹、产品布局及市场策略都在不断变化。理解这两大平台的现状与未来可能趋势,对于投资者规划其数字资产策略至关重要。 欧易 …

    2025年12月8日
    000
  • 币安与火币htx的对比(权威版)

    币安 币安是全球知名的数字货币交易平台之一,以其庞大的用户基础、丰富的交易对和广泛的业务布局而著称。它提供现货、合约、期权等多种交易产品,并不断拓展其生态系统,涵盖去中心化金融(DeFi)、NFTs以及教育和研究领域。 火币HTX 火币HTX(原火币)是另一家历史悠久的数字资产交易平台,在全球数字货…

    2025年12月8日
    000
  • 币安vs火币htx的对比 从各方位的分析

    在全球数字资产交易市场中,币安与火币htx无疑是两家重量级的平台。它们各自拥有庞大的用户基础和显著的市场影响力,服务着全球范围内的交易者。对这两家交易所进行多角度的审视与对比,有助于理解它们的定位、优势以及潜在差异,为用户选择合适的平台提供参考。 币安binance 币安作为全球领先的数字资产交易平…

    2025年12月8日
    000
  • 币安binance与欧意okx的对比(权威版)

    币安和OKX是全球顶级的加密货币交易平台,各有特色。1、币安以多样化的产品线著称,涵盖现货、合约、期权等多种交易类型,并提供质押、理财产品等增值服务;2、其技术架构强大,拥有高性能交易引擎和安全防护体系,确保交易稳定流畅;3、币安实施全球化布局,构建了以BNB Chain为核心的完整加密生态,支持D…

    2025年12月8日
    000
  • 欧意okx和必安怎么选 全方面分析2025

    欧意和必安是两家领先的加密货币交易所,各有特色与优势。1、合规方面,必安因全球布局面临更复杂监管压力,而欧意在部分地区采取更积极的合规策略。2、生态建设上,必安以BNB Chain为核心构建闭环生态,欧意则通过Web3账户连接CEX与DeFi,强调多链支持。3、交易产品方面,必安在合约交易流动性占优…

    2025年12月8日
    000
  • Altcoin新兴领导者:在不断变化的加密景观中发现最好的购买

    在加密货币领域中寻找最具潜力的山寨币领导者。从互操作性到人工智能,探索哪些项目现在是值得关注的投资机会。 Altcoin新星崛起:探索当前值得投资的优质资产 加密市场持续波动,投资者纷纷寻找下一个爆发点。抛开炒作,真正的价值在于实际应用和坚实的技术基础。让我们聚焦那些正在掀起波澜的山寨币,看看它们为…

    2025年12月8日
    000
  • 安币2.101.8版本怎么更新 怎么更新安币最新版本

    2025Binance币安 | 一键直达 Binance 2.101.8 版本是 2025 年 6 月推出的安卓最新稳定版,引入了可自定义首页小部件、AI 趋势工具等功能。如果你希望更新到该版本,可以通过以下方式完成。 更新 Binance 最新版本的步骤 方式一:通过 Binance 应用内更新打…

    2025年12月8日
    000
  • 安币2.101.8版本要更新吗 安币2.101.8版本一定要更新吗

    2025Binance币安 | 一键直达 Binance 2.101.8 版本(2025‑06‑11 发布)引入了专为 Pro 模式设计的可自定义小部件功能,并优化了 UI,官方未报告重大 bug,整体稳定性良好 优化亮点 可拖拽小部件:允许用户自由定义 Pro 模式首页布局,提升个性化体验。AI …

    2025年12月8日
    000
  • b安2.101.8版本更新教程 b安最新版本如何更新

    2025Binance币安 | 一键直达 Binance 2.101.8 版本已于 2025 年 6 月 11 日发布,新增 Pro 模式首页自定义小部件功能,并对 UI 进行了优化。以下是获取并更新该版本的详细操作指南。 获取最新版本方式 Uptodown 平台:提供 Binance 2.101.…

    2025年12月8日
    000
  • 安币2.101.8版本安卓更新教程 安卓如何更新安币2.101.8版本

    2025Binance币安 | 一键直达 Binance 2.101.8 版本是2025年6月最新发布的安卓更新,主要带来 Pro 模式页面自定义、AI 趋势小组件等新特性。若你希望在安卓设备上更新到此版本,可参考以下步骤完成操作。 更新币安 2.101.8 的安卓教程 卸载旧版本(如遇更新失败时)…

    2025年12月8日
    000
  • 币安2.101.8优化怎么样 币安2.101.8版本值得更新吗

    2025Binance币安 | 一键直达 Binance 2.101.8 版本于 2025 年 6 月 11 日正式上线,新增 Pro 模式首页自定义小部件,以及 AI 趋势分析等亮点功能。官方反馈稳定性良好,整体体验显著提升 主要优化亮点 Pro 模式首页支持拖拽布局:用户可自由添加、移动小部件,…

    2025年12月8日
    000
  • 币安应用最新版本是多少 币安2.101.8是最新版本吗

    2025Binance币安 | 一键直达 Binance 安卓应用的最新版本目前是 2.102.3(发布于 2025 年 6 月 24 日),已推送更多功能更新,例如 P2P 好友交易、合约盈亏平仓一键撤单等 Binance 2.101.8虽于 6 月 11 日发布,引入 Pro 模式自定义小部件与…

    2025年12月8日
    000
  • 安币应用最新版本是多少 安币2.101.8是最新版本吗

    2025Binance币安 | 一键直达 Binance 安卓应用的最新版本目前是 2.102.3(发布于 2025 年 6 月 24 日),已推送更多功能更新,例如 P2P 好友交易、合约盈亏平仓一键撤单等 Binance 2.101.8虽于 6 月 11 日发布,引入 Pro 模式自定义小部件与…

    2025年12月8日
    000
  • 币安2.101.8版本更新教程 币安最新版本如何更新

    2025Binance币安 | 一键直达 Binance 2.101.8 版本已于 2025 年 6 月 11 日发布,新增 Pro 模式首页自定义小部件功能,并对 UI 进行了优化。以下是获取并更新该版本的详细操作指南。 获取最新版本方式 Uptodown 平台:提供 Binance 2.101.…

    2025年12月8日
    000
  • b安2.101.8优化怎么样 b安2.101.8版本值得更新吗

    2025Binance币安 | 一键直达 Binance 2.101.8 版本于 2025 年 6 月 11 日正式上线,新增 Pro 模式首页自定义小部件,以及 AI 趋势分析等亮点功能。官方反馈稳定性良好,整体体验显著提升 主要优化亮点 Pro 模式首页支持拖拽布局:用户可自由添加、移动小部件,…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信