最新要闻
- 天天热点!苹果官方推荐!iNote灵感笔记新版发布:超紧凑模式来了
- 热讯:金士顿无敌了!拿下2022年全渠道SSD市场占有率第一
- 高德、口碑正式合并:阿里旗下本地到店业务将统一整合
- 热推荐:国科微:目前晶圆产能较前两年已趋于缓和
- 世界快看点丨加快步伐!腾讯高管:“生成式AI”或纳入微信和QQ
- 天津金逸影城
- 3GB显存被封杀!《光环无限》都不让玩
- Opera浏览器推送97.0.4719.26更新:集成ChatGPT与AI总结功能
- 世界速递!碧桂园打造湖湘人居典范 护航品质生活
- 3599元 铭凡NUCG5迷你主机上架:碳纤维机身、下压式散热
- 世界百事通!比RTX 4080小一半!NVIDIA发布RTX 4000 SFF半高卡:功耗仅70瓦
- 【世界新要闻】专家:沙尘天气里最好别戴隐形眼镜
- 焦点播报:成龙和甄子丹"打架"谁会赢?甄子丹:我老了 他更老
- 性价比更高 有哪些散片CPU值得入手?
- 国民第一APP坐实了 微信月活破13亿无可匹敌
- 天天时讯:堆料最多的小米手机!曝小米13 Ultra最高配1TB UFS 4.0闪存
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
Go HTTP编程
【资料图】
目录- HTTP 服务端
- HTTP客户端
Go 语言标准库内建提供了 net/http 包,涵盖了 HTTP 客户端和服务端的具体实现,使得我们可以很方便地编写 HTTP 客户端或服务端的程序。
HTTP 服务端
示例:
package mainimport ( "fmt" "net/http")//服务端编写的业务逻辑处理程序 —— 回调函数func myHandler(w http.ResponseWriter, r *http.Request) { fmt.Println("method = ", r.Method) //请求方法 fmt.Println("URL = ", r.URL) // 浏览器发送请求文件路径 fmt.Println("header = ", r.Header) // 请求头 fmt.Println("body = ", r.Body) // 请求包体 fmt.Println(r.RemoteAddr, "连接成功") //客户端网络地址 w.Write([]byte("hello http")) //给客户端回复数据}func main() { http.HandleFunc("/hello", myHandler) // 注册处理函数 //该方法用于在指定的 TCP 网络地址 addr 进行监听,然后调用服务端处理程序来处理传入的连接请求。 //该方法有两个参数:第一个参数 addr 即监听地址;第二个参数表示服务端处理程序,通常为nil //当参2为nil时,服务端调用 http.DefaultServeMux 进行处理 http.ListenAndServe("127.0.0.1:8000", nil)}
浏览器访问 http://localhost:8000/hello ,返回 "hello http" 。
服务端打印:method = GETURL = /helloheader = map[Accept:[text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.7] Accept-Encoding:[gzip, deflate, br] Accept-Language:[zh-CN,zh;q=0.9] Connection:[keep-alive] Dnt:[1] Sec-Ch-Ua:["Chromium";v="110", "Not A(Brand";v="24", "GoogleChrome";v="110"] Sec-Ch-Ua-Mobile:[?0] Sec-Ch-Ua-Platform:["Windows"] Sec-Fetch-Dest:[document] Sec-Fetch-Mode:[navigate] Sec-Fetch-Site:[none] Sec-Fetch-User:[?1] Upgrade-Insecure-Requests:[1] User-Agent:[Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36]]body = {}127.0.0.1:2651 连接成功
回调函数myHandler(w http.ResponseWriter, r *http.Request)
有两个参数:
w http.ResponseWriter
用来给客户端返回响应数据,它是一个 interface:
type ResponseWriter interface { Header() Header Write([]byte) (int, error) WriteHeader(int) }
r *http.Request
用来接收客户端的请求数据,浏览器发送给服务器的 http 请求包的内容可以借助 r 来查看。它对应一个结构体:
type Request struct { Method string // 浏览器请求方法 GET、POST… URL *url.URL // 浏览器请求的访问路径 …… Header Header // 请求头部 Body io.ReadCloser // 请求包体 RemoteAddr string // 浏览器地址 …… ctx context.Context}
HTTP客户端
客户端访问 Web 服务器数据,主要使用 func Get(url string) (resp *Response, err error)
函数来完成,其读到的响应报文数据被保存在 Response 结构体中。
type Response struct { Status string // e.g. "200 OK" StatusCode int // e.g. 200 Proto string // e.g. "HTTP/1.0" …… Header Header Body io.ReadCloser ……}
服务器发送的响应包体被保存在 Body 中,可以使用它提供的 Read 方法来获取数据内容,可以将其保存至切片缓冲区中,拼接成一个完整的字符串来查看。
结束的时候,需要调用 Body 中的 Close() 方法关闭 I/O 。
示例:
import ( "fmt" "net/http")func main() { // 使用Get方法获取服务器响应包数据 // resp, err := http.Get("http://www.baidu.com") resp, err := http.Get("http://127.0.0.1:8000/hello") if err != nil { fmt.Println("Get err:", err) return } defer resp.Body.Close() // 获取服务器端读到的数据 fmt.Println("Status = ", resp.Status) // 状态 fmt.Println("StatusCode = ", resp.StatusCode) // 状态码 fmt.Println("Header = ", resp.Header) // 响应头部 fmt.Println("Body = ", resp.Body) // 响应包体 buf := make([]byte, 4096) // 定义切片缓冲区,存读到的内容 var result string // 获取服务器发送的数据包内容 for { n, err := resp.Body.Read(buf) // 读body中的内容。 if n == 0 { fmt.Println("Body.Read err:", err) break } result += string(buf[:n]) // 累加读到的数据内容 } // 打印从body中读到的所有内容 fmt.Println("result = ", result)}
关键词:
-
CTAS建表时报错ORA-65114
环境:Oracle19 16多租户架构1 问题现象:SQL>createtableT1asselect*fromv$active_session_history*E
来源: 天天观察:71.C++标准库类型string
CTAS建表时报错ORA-65114
Go HTTP编程
天天热点!苹果官方推荐!iNote灵感笔记新版发布:超紧凑模式来了
热讯:金士顿无敌了!拿下2022年全渠道SSD市场占有率第一
高德、口碑正式合并:阿里旗下本地到店业务将统一整合
热推荐:国科微:目前晶圆产能较前两年已趋于缓和
全球最新:关于基于AWS-Cli的方式对RDS资源批量添加tag的方法
全球微速讯:小红书去水印技巧合集(亲测有效!!!)
每日热点:Git基本使用
RHEL无法配置网关问题一则
世界快看点丨加快步伐!腾讯高管:“生成式AI”或纳入微信和QQ
天津金逸影城
2023年3月22日(软件工程日报)
阿里云大使和代理商的优惠的区别与选择
动态焦点:美债市场危机四伏 “安全资产”吸引力或进一步下降
3GB显存被封杀!《光环无限》都不让玩
Opera浏览器推送97.0.4719.26更新:集成ChatGPT与AI总结功能
世界速递!碧桂园打造湖湘人居典范 护航品质生活
世界新动态:70.C++ using的三种用法详解
环球资讯:农业银行发行700亿元二级资本债进一步增强资本实力
3599元 铭凡NUCG5迷你主机上架:碳纤维机身、下压式散热
世界百事通!比RTX 4080小一半!NVIDIA发布RTX 4000 SFF半高卡:功耗仅70瓦
【世界新要闻】专家:沙尘天气里最好别戴隐形眼镜
焦点播报:成龙和甄子丹"打架"谁会赢?甄子丹:我老了 他更老
性价比更高 有哪些散片CPU值得入手?
每日精选:Swift 备忘清单_开发速查表分享
全球信息:利用“姿态相似度比较”功能,对运动(动作)识别检测“秒”适配
国民第一APP坐实了 微信月活破13亿无可匹敌
天天时讯:堆料最多的小米手机!曝小米13 Ultra最高配1TB UFS 4.0闪存
iPhone 15 Pro工业设计敲定!这外观果粉会打多少分?
1499元!微星发布MD271UL 4K显示器:P3色域可达99%
399元1TB 速度5000MB/s!影驰星曜X4 PRO SSD图赏
世界热推荐:IDC 预计 2023 年全球可穿戴设备出货量预计将出现反弹
微头条丨低代码开发,一场深度的IT效率革命
混合多云第二课——混合技术如何每年为京东节省上亿元成本?
【天天新视野】记录--我在前端干工地(three.js)
数据库系统原理之数据库编程
当前滚动:债市日报:3月22日
女子应聘被HR质疑23岁用苹果手机:称其年纪小 手机贵
天天速讯:四川一高校放7天春假 鼓励大家去恋爱!网友:坚持一个四川原则
环球速递!腾讯2022年人均年薪102.5万!一年增加近20万
世界资讯:“长胡子”了 比亚迪海豚泰国版发布:售价约16万人民币
【全球新视野】被马化腾视为腾讯希望!微信视频号使用时长已超朋友圈
世界看热讯:农历中的惊蛰到底有什么寓意?
天天快讯:Kruise Rollout v0.3.0:教你玩转 Deployment 分批发布和流量灰度
ThreadPool实现机制
焦点热议:nodejs处理嵌套对象的npm包:dot-prop
中国西北地区发现广泛分布的侏罗纪被子植物化石
3年陈花香白牡丹:董德福鼎白茶200g装128元大促(200元券)
环球快看:188GB显存 800W功耗!NVIDIA发布H100 NVL加速卡:ChatGPT提速2倍
世界新资讯:美国两囚犯用牙刷挖洞越狱成功:墙内钢筋松了!职能部门颜面扫地
当前观察:9岁女孩豪掷18.9万打赏游戏主播 偷偷记下密码还删除转账记录
天天速讯:新能源汽车高速没电竟然倒车回服务区充电 后方车辆纷纷避让
Geyser - Minecraft Server 基岩版与Java版互通教程
世界速讯:Rust 知识积累(5)
全球热文:CSIG企业行-走进合合信息成功举行,聚焦生成式人工智能、智能文档处理前沿热点
环球今日讯!webrtc QOS笔记三 RTT计算,SRS增加XR
你可能不那么知道的Tomcat生命周期管理 | 博学谷狂野架构师
全球新资讯:国家药监局:2022年抽检11类化妆品20368批次产品 合格率97.60%
每日速看!【财经分析】投资收益拖累2022年券商业绩 投行业务景气度仍处于高位
【聚看点】澳弘电子(605058.SH):年产高精密度多层板、高密度互连积层板120万平方米建设项目及研发中心升级改造项目结项
真我GT Neo5 SE“最终幻想”配色回归:赛博朋克风满满
当前消息!《黑暗荣耀2》蝉联网飞电视剧全球榜第一:观看时间过亿
当前热门:又一日系即将退出中国?广汽三菱否认传闻:正常运转
世界看点:被谷歌商店下架 拼多多驳斥恶意软件指控!
世界聚焦:上市五年市值缩水99.6%!昔日“明星”趣头条宣布退市
新资讯:火山引擎 VeDI 零售行业解决方案 聚焦精准营销场景提升品牌转化
面试官:ThreadLocal 为什么会内存泄漏吗?是怎么产生的?面试必问!
JavaSE笔记之注解和反射(含案例代码)
当前速递!Android BLE 广播定制
环球报道:关于asp.net core filters生命周期的探究
今头条!北方多地迎沙尘!长春直接下“泥雨”:汽车变泥车
环球速讯:OPPO、小米、vivo联盟:跨品牌一键换机新增第三方应用迁移
最新消息:史上最强骁龙7系 真我GT Neo5 SE跑分过百万:16+1TB存储确认
世界今热点:孤立森林(IForest)代码实现及与PyOD对比
最资讯丨three.js加载环境贴图
天天热讯:java中同步和异步的区别
今日关注:Alphaliner:2月底港口停运船比率达6.4% 增至去年同期3倍
4月上映!《长空之王》新预告出炉:王一博驾驶歼20一飞冲天
世界今头条!自嗨锅自热煲仔饭4桶到手价32.8元:15分钟速烹美食
今年以来最强沙尘来袭!你的城市在下雨 他的城市在下泥
邓紫棋你把我灌醉高音最高是多少?邓紫棋你把我灌醉歌词
苏菲日记是什么?苏菲日记的读后感怎么写?
strict怎么读?strict的反义词是什么?
主题班会的开场白有什么要求?主题班会的开场白怎么写?
河南洛阳旅游景点排名前十名有哪些?河南洛阳美食排行榜前十名
当前简讯:一种基于实时大数据的图指标解决方案
【天天报资讯】智能零售柜商品检测软件(Python+YOLOv5深度学习模型+清新界面)
来了解下GNOME 2 的 Linux 文件管理器 Caja
【状压DP】蒙德里安的梦想
【环球新要闻】害怕开车也不愁 小米汽车新专利:根据驾驶员匹配自动驾驶等级
前沿资讯!漫威《美国队长4:新世界秩序》开拍 片场首曝:“猎鹰”美队来了
每日热门:一语成谶!网传鬼火少年“三部曲”:片头壮行、片尾撞车
俄罗斯伏尔加汽车厂:中国汽车是新款拉达Vesta的主要对手
省钱神器!淘宝内测同款比价功能:最快本周上线
全球速看:记一次 rr 和硬件断点解决内存踩踏问题
天天新资讯:生核桃怎么变熟核桃_生核桃怎么弄熟
魅族20 PRO三款配色公布:绝美朝阳金吸睛
天天快消息!25日继续公测 暴雪承诺《暗黑4》会解决排队问题:服务器顶得住