golang要请求远程网页,可以使用net/http包中的client提供的方法实现。查看了官方网站有一些示例,没有太全面的例子,于是自己整理了一下:
get请求
func httpGet() { resp, err := http.Get("http://www.01happy.com/demo/accept.php") if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // handle error } fmt.Println(string(body)) }
post请求
http.Post方式
func httpPost() { resp, err := http.Post("http://www.01happy.com/demo/accept.php", "application/x-www-form-urlencoded", strings.NewReader("name=cjb")) if err != nil { fmt.Println(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // handle error } fmt.Println(string(body)) }
Tips:使用这个方法的话,第二个参数要设置成”application/x-www-form-urlencoded”,否则post参数无法传递。
http.PostForm方法
func httpPostForm() { resp, err := http.PostForm("http://www.01happy.com/demo/accept.php", url.Values{"key": {"Value"}, "id": {"123"}}) if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // handle error } fmt.Println(string(body)) }
复杂的请求
有时需要在请求的时候设置头参数、cookie之类的数据,就可以使用http.Do方法。
func httpDo() { client := &http.Client{} req, err := http.NewRequest("POST", "http://www.01happy.com/demo/accept.php", strings.NewReader("name=cjb")) if err != nil { // handle error } req.Header.Set("Content-Type", "application/x-www-form-urlencoded") req.Header.Set("Cookie", "name=anny") resp, err := client.Do(req) defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // handle error } fmt.Println(string(body)) }
同上面的post请求,必须要设定Content-Type为application/x-www-form-urlencoded,post参数才可正常传递。
如果要发起head请求可以直接使用http client的head方法,比较简单,这里就不再说明。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com
暂无“golang使用http client发起get和post请求示例”评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年05月14日
2024年05月14日
- 《饿殍:明末千里行》行将就木的日月山河
- 【古典音乐】卡拉扬《马勒·大地之歌》2013[FLAC+CUE/整轨]
- KOKIA《EVOLVEtoLOVE20周年精逊4CD【FLAC】
- 李娜(昌圣法师)-《唱经给你听.念佛礼仪》[APE]
- 前《龙腾世纪》编剧谈EA用AI做游戏:他们的兴奋是绝望的哀嚎
- 世界公认最丑的鱼登热搜 科普:其实是人为被迫毁容
- 网易新作合约要求测试者不准说坏话:现已撤回并道歉
- 【原神】V4.6攻略 | 全角色突破用讨伐材料汇总
- 【原神】V4.6攻略 | 4.6版本下半抽卡建议
- 【原神】V4.6攻略 | 那维莱特的一条龙机制介绍、养成及配队
- 郑智化.1995-游戏人间【飞碟】【WAV+CUE】
- 群星.1999-唱好香港【STAREAST】【WAV+CUE】
- 美宝.2013-从目的地出发【金牌大风】【WAV+CUE】
- 新生 New Life
- 站长 Chief of Station