集团定制网站建设公司网站开发团队名字
web/
2025/9/27 6:05:56/
文章来源:
集团定制网站建设公司,网站开发团队名字,静态网站策划书,工作1月工资257元Go语言入门心法(一): 基础语法
Go语言入门心法(二): 结构体
Go语言入门心法(三): 接口
Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 一:go语言面向web编程认知
Go语言的最大优势在于并发与性能,其性能可以媲美C和C,并发在网络编程中更是至关重要
使用http发送请… Go语言入门心法(一): 基础语法
Go语言入门心法(二): 结构体
Go语言入门心法(三): 接口
Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 一:go语言面向web编程认知
Go语言的最大优势在于并发与性能,其性能可以媲美C和C,并发在网络编程中更是至关重要
使用http发送请求,http包提供了HTTP客户端和服务器端的实现,使用HTTP客户端需要理解和掌握两个非常重要的类型(1) Client客户端(2) Request求体go语言模拟向浏览器发起HTTP请求,发起请求需要创建一个请求对象,使用NewRequest来创建 package mainimport (fmtionet/http
)/*
Go语言的最大优势在于并发与性能,其性能可以媲美C和C,并发在网络编程中更是至关重要
使用http发送请求,http包提供了HTTP客户端和服务器端的实现,使用HTTP客户端需要理解和掌握两个非常重要的类型(1) Client客户端(2) Request求体go语言模拟向浏览器发起HTTP请求,发起请求需要创建一个请求对象,使用NewRequest来创建
*/
func main() {// 使用NewRequest模拟浏览器向服务器发送HTTP请求client : http.Client{}// 访问爱奇艺-在线视频网站-海量正版高清视频在线观看 首页request, err : http.NewRequest(GET, https://www.iqiyi.com/, nil)if err ! nil {fmt.Println(err)}response, err : client.Do(request)fmt.Println(response.StatusCode)res, err : io.ReadAll(response.Body)if err ! nil {fmt.Println(err)}// 打印bodyfmt.Println(string(res))
}运行效果 GOROOTD:\program_file_worker\go1.20 #gosetup GOPATHD:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerToWebRequest_go.exe D:\program_file\go_workspace\org.jd.data\http\OOPHttpServerToWebRequest.go #gosetup C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerToWebRequest_go.exe 200 !DOCTYPE htmlhtml data-n-head-ssrhead title爱奇艺-在线视频网站-海量正版高清视频在线观看/titlemeta data-n-headssr charsetutf-8meta data-n-headssr nameapple-itunes-app contentapp-id409563112, app-argumentiqiyi-pad://mobile/home?subtypeiPaihd_0meta data-n-headssr namerenderer contentwebkitmeta data-n-headssr namebytedance-verification-code contentOH3/r7XoQqpCuo9kll67meta data-n-headssr namereferrer contentalwaysmeta data-n-headssr namegoogle-site-verification contentX6OJWiV6ws5XxP08OZZNglZpIZD_-EXXeGHyrx7ZTIsmeta data-n-headssr contentW6H9eWF4xB data-hidbaidu-site-verification namebaidu-site-verificationmeta data-n-headssr contentb14bc44b47df0f69871bc8a4b24832df name360-site-verificationmeta data-n-headssr content86697f6b21a3be1fd0dfb363f2103b7b data-hid360_ssp_verify name360_ssp_verifymeta data-n-headssr contenttext/html; charsetutf-8 http-equivContent-Typemeta data-n-headssr langzh-CN http-equivcontent-languagemeta data-n-headssr content99E5BCCCE330E1C63C0CC5BDE57AEE80 data-hidmsvalidate.01 namemsvalidate.01meta data-n-headssr content爱奇艺-iQIYI.COM data-hidCopyright nameCopyrightmeta data-n-headssr content爱奇艺-iQIYI.COM data-hidauthor nameauthormeta data-n-headssr content爱奇艺视频-在线视dtitle nametitle langzh-CNmeta data-n-headssr propertyog:title langzh-CN content爱奇艺视频,视频,视频网站,高清视频,电影,电视剧,动漫,综艺,音乐meta data-n-headssr namedescription data-hiddescripti爱奇艺(IQIYI.COM)拥有海量、优质、高清的影视剧集等视频内容。爱奇艺VIP限时新用户特惠首月6元会员畅看顶级视听品质体验当前热播《唐朝诡事录》《一年一度喜剧大赛2》《航海王》《请君》meta data-n-headssr itempropname contYI.COM)拥有海量、优质、高清的影视剧集等视频内容。爱奇艺VIP限时新用户特惠首月6元会员畅看顶级视听品质体验当前热播《唐朝诡事录》《一年一度喜剧大赛2》《航海王》《请君》meta data-n-headssr namemobile-agent contentfol contentno-transformmeta data-n-headssr http-equivCache-Control contentno-siteappmeta data-n-headssr itempropimage content//www.iqiyipic.com/pcwimg/128-128-logo.pnglink data-n-headssr relicon typeimage/x-icon href//www.iqiyipic.com/pcwimg/128-128-logo.pnglink data-n-headssr relmanifest href//www.iqiyi.com/manifest.jsonlink data-n-headssr reldns-prefetch href//cache.video.iqiyi.comlink data-n-headssr reldns-prefetch href//pcw-api.iqiyi.comlink data-n-headssr reldns-prefetch href//hm.baidu.comlink data-n-headssr reldns-prefetch href//msg.qy.netlink data-n-headssr reldns-prefetch href//datax.baidu.comlink data-n-headssr reldns-prefetch href//static.iqiyi.comlink data-n-headssr reldns-prefetch href//static-s.iqiyi.comlink data-n-headssr relalternate hreflangzh-CN href//www.iqiyi.com/link data-n-headssr relalternate hreflangzh-TW href//tw.iqiyi.com/link data-n-headssr relalternate hreflangzh href//www.iqiyi.com/link data-n-headssr relapple-to uch-icon-precomposed size114x114 href//www.iqiyipic.com/pcwimg/PCW-114x114.pnglink data-n-headssr relapple-touch-icon-precomposed size72x72 href//www.iqiyipic.com/pcwimg/PCW-72X72.pnglink data-n-headssr relcanonical href//www.iqiyi.com/link relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/cb0d597.js asscriptlink relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/app.069a04f.css asstyle link relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/app.40d67a8dd3deb57c860f.js asscriptlink relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/pages/index.0a766132af6dafcff12c.js asscriptlink relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/pages/cloudCinema/pages/cloudCinema1/pages/cloudCinemaPCA/pages/cloudCinemaPCA1/pages/components/pag/8c7f18db.462771861c0e477fb66d.js asscriptlink relpreload href//stc.iqiyipic. com/gaze/pcw/ssr/pages/cloudCinema1/pages/cloudCinemaPCA1/pages/dianshiju/index/pages/dianying/pages/dongman/pages/in/2acb21ce.bde7a64cfc3a00b86ccd.js asscriptlink relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/page s/index/home2020.fa65e0e453b40bc444aa.js asscriptlink relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/36.26673fa.css asstylelink relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/36.9330c2e3eccd15b6ff28.js a sscriptlink relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/122.837a6dc01d4662378290.js asscriptlink relpreload href//stc.iqiyipic.com/gaze/pcw/ssr/common.1522f29.css asstylelink relpreload href/ /stc.iqiyipic.com/gaze/pcw/ssr/common.645cc65cefcb24b2a483.js asscriptlink relstylesheet href//stc.iqiyipic.com/gaze/pcw/ssr/app.069a04f.csslink relstylesheet href//stc.iqiyipic.com/gaze/pcw/ssr/36.26673fa.csslink relstylesheet href//stc.iqiyipic.com/gaze/pcw/ssr/common.1522f29.css scriptwindow.qyTtiStart Date.now()/script/head body div data-server-renderedtrue id__nuxt!----div id__layoutdiv data-v-5f1d06eediv idadSkinInner classqy-dark data-v-5f1d06eediv idI71Layout/div div styledisplay:none10/16/2023, 8:03:36 PM /div !---- div data-v-5f1d06eediv classskin_focus/div div id1000000000714 styledisplay: none;a idadClick οnfοcusthis.blur(); stylewidth: 100%; position: absolute;/a div idadDiv stylewidth : 970px; margin: 0px auto -25px;/div/div/div div classph-skin-wrapheader idblock-A data-block-v2712211_topNav classqy-header home2020 r-type1 greendark qy-header--bg qy-header--absolutediv classheade r-wrapdiv classheader-innerdiv classqy-logoa href//www.iqiyi.com/ title爱奇艺视频 data-rseat-v2iQIYI_logo classlogo-link2/a/div!----div classqy-header-side!----div classheader__search div classclient-only-placeholderdiv classsearch-boxspan classsearch-box-ininput autocompleteoff typetext data-rseat-v2712211_search_input classsearch-box-input/spanspan classsearch-box-out span typebutton classsearch-box-btni classqy20-header-svg qy20-header-svg-search/i/span/span/div/div/divdiv classheader-sideItem header-vipdiv classclient-only-placeholderdiv classheader-si deItemCon header-vip-logini classheader-sideItemIcon qy20-header-svg qy20-header-svg-vip/ispan classheader__item__titVIP/span/div/div/divdiv classheader-sideItem qy-header__gamediv classclient-onl y-placeholdera href//pc.game.iqiyi.com?startfrompcw_topbanner target_blank data-rseat-v2tj_gamecenter classheader-sideItemConi classheader-sideItemIcon qy20-header-svg qy20-header-svg-game/ispan class header__item__tit游戏/span/a/div/divdiv classheader-sideItem header-uploaddiv classclient-only-placeholderspan data-rseat-v2712211_upload_ugc classheader-sideItemConi classheader-sideItemIcon q y20-header-svg qy20-header-svg-upload/ispan idnav_uploadHref classheader__item__tit上传/span/span/div/divdiv classheader-sideItem header-downloaddiv classclient-only-placeholderdiv classheader- sideItemConi classheader-sideItemIcon qy20-header-svg qy20-header-svg-pca-dwn/ispan classheader__item__tit客户端/span/div/div/divdiv classheader-sideItem header-recorddiv classclient-only-placehol dera target_blank relnofollow href//www.iqiyi.com/u/record data-rseat-v2tj_history classheader-sideItemConi classheader-sideItemIcon qy20-header-svg qy20-header-svg-record/ispan classheader__item__tit看过/span/a/div/divdiv classheader-sideItem header-userdiv classclient-only-placeholderdiv classheader-sideItemCona relnofollow classheader-userLinkimg idJ-user-img src //www.iqiyipic.com/common/fix/site-v5/header-userImg-default-dark.png.............................................................................................................................................................. 二: 添加请求体Cookie,伪装浏览器登录状态 模拟流量器登录
当访问某些资源时,需要登录后才能访问,此时我们模拟登录,使得被访问的资源知道我们使用go编程的爬虫客户端是登录状态;
这就需要设置CookieCookie通常用来标识客户端的登录状态;Request实例可以使用AddCookie方法给请求添加Cookiepackage mainimport (fmtionet/httpstrconv
)/*
模拟流量器登录
当访问某些资源时,需要登录后才能访问,此时我们模拟登录,使得被访问的资源知道我们使用go编程的爬虫客户端是登录状态;
这就需要设置CookieCookie通常用来标识客户端的登录状态;Request实例可以使用AddCookie方法给请求添加Cookie
*/
func main() {client : http.Client{}request, err : http.NewRequest(GET, https://www.iqiyi.com/, nil)if err ! nil {fmt.Println(err)}// 使用http.Cookie结构体初始化一个Cookie键值对cookie : http.Cookie{Name: userId, Value: strconv.Itoa(12345)}// 使用前面的构建的request方法AddCookie往请求中添加Cookierequest.AddCookie(cookie)request.AddCookie(http.Cookie{Name: session, Value: YWRtaW4})response, err : client.Do(request)fmt.Println(response.Request.Cookies())fmt.Println(response.StatusCode)res, err : io.ReadAll(response.Body)if err ! nil {fmt.Println(err)}// 打印bodyfmt.Println(string(res))
}运行效果 通常服务器使用session来判断客户端是否为登录用户
[userId12345 sessionYWRtaW4] GOROOTD:\program_file_worker\go1.20 #gosetup GOPATHD:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerToCookieLoginBrowser_go.exe D:\program_file\go_workspace\org.jd.data\http\OOPHttpServerToCookieLoginBrowser.go #gosetup C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerToCookieLoginBrowser_go.exe [userId12345 sessionYWRtaW4] 200 !DOCTYPE htmlhtml data-n-head-ssrhead title爱奇艺-在线视频网站-海量正版高清视频在线观看/titlemeta data-n-headssr charsetutf-8meta data-n-headssr nameapple-itunes-app contentapp-id409563112, app-argumentiqiyi-pad://mobile/home?subtypeiPaihd_0meta data-n-headssr namerenderer contentwebkitmeta data-n-headssr namebytedance-verification-code contentOH3/r7XoQqpCuo9kll67meta data-n-headssr namereferrer contentalwaysmeta data-n-headssr namegoogle-site-verification contentX6OJWiV6ws5XxP08OZZNglZpIZD_-EXXeGHyrx7ZTIsmeta data-n-headssr contentW6H9eWF4xB data-hidbaidu-site-verification namebaidu-site-verificationmeta data-n-headssr contentb14bc44b47df0f69871bc8a4b24832df name360-site-verificationmeta data-n-headssr content86697f6b21a3be1fd0dfb363f2103b7b data-hid360_ssp_verify name360_ssp_verifymeta data-n-headssr contenttext/html; charsetutf-8 http-equivContent-Typemeta data-n-headssr langzh-CN http-equivcontent-languagemeta data-n-headssr content99E5BCCCE330E1C63C0CC5BDE57AEE80 data-hidmsvalidate.01 namemsvalidate.01meta data-n-headssr content爱奇艺-iQIYI.COM data-hidCopyright nameCopyrightmeta data-n-headssr content爱奇艺-iQIYI.COM data-hidauthor nameauthormeta data-n-headssr content爱奇艺视频-在线视dtitle nametitle langzh-CNmeta data-n-headssr propertyog:title langzh-CN content爱奇艺视频,视频,视频网站,高清视频,电影,电视剧,动漫,综艺,音乐meta data-n-headssr namedescription data-hiddescripti爱奇艺(IQIYI.COM)拥有海量、优质、高清的影视剧集等视频内容。爱奇艺VIP限时新用户特惠首月6元会员畅看顶级视听品质体验当前热播《唐朝诡事录》《一年一度喜剧大赛2》《航海王》《请君》meta data-n-headssr itempropname cont YI.COM)拥有海量、优质、高清的影视剧集等视频内容。爱奇艺VIP限时新 新 户特惠首月6元会员畅看顶级视听品质体验当前热播《唐朝诡事录》《一年一度喜剧大赛2》《航海王》《请君》meta data-n-headssr namemobile-agent contentformathtml5;url//m.iqiyi.com/meta data-n-headssr http-equ u ivCache-Control contentno-transformmeta data-n-headssr http-equivCache-Control contentno-siteappmeta data-n-headssr itempropimage content//www.iqiyipic.com/pcwimg/128-128-logo.pnglink data-n-head ssr relicon typeimage/x-icon href//www.iqiyipic.com/pcwimg/128-128-logo.pnglink data-n-headssr relmanifest href//www.iqiyi.com/manifest.jsonlink data-n-headssr reldns-prefetch href//cache.video. iqiyi.comlink data-n-headssr reldns-prefetch href//pcw-api.iqiyi.comlink data-n-headssr reldns-prefetch href//hm.baidu.comlink data-n-headssr reldns-prefetch href//msg.qy.netlink data-n-head ssr reldns-prefetch href//datax.baidu.comlink data-n-headssr reldns-prefetch href//static.iqiyi.comlink data-n-headssr reldns-prefetch href//static-s.iqiyi.comlink data-n-headssr relaltern ate hreflangzh-CN href//www.iqiyi.com/ 三: 请求体添加Header,绕过反爬策略 有需网站作了反爬措施,一般会通过根据Header头中的User-Agent的值解析判断是浏览器还是爬虫;
这时我们需要设置成浏览器的UA来绕过这类反爬措施;Request可以直接使用request.Header.Set(key,value)来设置Header package mainimport (compress/flatecompress/gzipfmtionet/http
)func main() {println(有需网站作了反爬措施,一般会通过根据Header头中的User-Agent的值解析判断是浏览器还是爬虫;这时我们需要设置成浏览器的UA来绕过这类反爬措施;Request可以直接使用request.Header.Set(key,value)来设置Header)client : http.Client{}request, err : http.NewRequest(GET, http://www.baidu.com/, nil)if err ! nil {fmt.Println(err)}// 设置request的header,具体可参考HTTP协议request.Header.Set(Accept, text/html, application/xhtmlxml, application/xml;q0.9,*/*;q0.8)request.Header.Set(Accept-Charset, UTF-8, utf-8;q0.7, *; q0.3)request.Header.Set(Accept-Encoding, gzip,deflate,sdch)request.Header.Set(Accept-Language, zh-CN,zh;q0.8)request.Header.Set(Cache-Control, max-age0)request.Header.Set(Connection, keep-alive)request.Header.Set(User-Agent, Mozilla/5.0 (Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/72.0.3626.121 Safari/537.36)response, err : client.Do(request)fmt.Printf(%#v, response.Request.Header)//res, err : io.ReadAll(response.Body)switch response.Header.Get(Content-Encoding) {case gzip:bodyReader, err : gzip.NewReader(response.Body)if err ! nil {fmt.Println(err)}res, err : io.ReadAll(bodyReader)// 打印bodyfmt.Println(string(res))case deflate:bodyReader : flate.NewReader(response.Body)res, err : io.ReadAll(bodyReader)if err ! nil {fmt.Println(err)}// 打印bodyfmt.Println(string(res))default:bodyReader : response.Bodyres, err : io.ReadAll(bodyReader)if err ! nil {fmt.Println(err)}// 打印bodyfmt.Println(string(res))}
}运行效果 GOROOTD:\program_file_worker\go1.20 #gosetup GOPATHD:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerGetToSetHeaderRequest_go.exe D:\program_file\go_workspace\org.jd.data\http\OOPHttpServerGetToSetHeaderRequest.go #gosetup C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerGetToSetHeaderRequest_go.exe 有需网站作了反爬措施,一般会通过根据Header头中的User-Agent的值解析判断是浏览器还是爬虫; 这时我们需要设置成浏览器的UA来绕过这类反爬措施;Request可以直接使用request.Header.Set(key,value)来设置Header http.Header{Accept:[]string{text/html, application/xhtmlxml, application/xml;q0.9,*/*;q0.8}, Accept-Charset:[]string{UTF-8, utf-8;q0.7, *; q0.3}, Accept-Encoding:[]string{gzip,deflate,sdch}, Accept-Language:[]string{zh-CN,zh;q0.8}, Cache-Control:[]string{max-age0}, Connection:[]string{keep-alive}, Referer:[]string{http://www.baidu.com/}, User-Agent:[]string{Mozilla/5.0 (Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/72.0.3626.121 Safari/537.36}} !DOCTYPE html!--STATUS OK--htmlheadmeta http-equivContent-Type contenttext/html;charsetutf-8meta http-equivX-UA-Compatible contentIEedge,chrome1meta contentalways namereferrermeta nametheme-color content#ffffffmeta namedescription content全球领先的中文搜索引擎、致力于让网民更便捷地获取信息找到所求。百度超过千亿的中文网页数据库可以瞬间找到相aidu.com/favicon.ico typeimage/x-icon /link relsearch typeapplication/opensearchdescriptionxml href/content-search.xml title百度搜索 /link relicon sizesany mask hrefhttps://www.baidu.com/favicon.iclink reldns-prefetch href//dss0.bdstatic.com/link reldns-prefetch href//dss1.bdstatic.com/link reldns-prefetch href//ss1.bdstatic.com/link reldns-prefetch href//sp0.baidu.com/link reldns-prefetch href//sp1.baidu.com/link reldns-prefetch href//sp2.baidu.com/link reldns-prefetch href//pss.bdstatic.com/link relapple-touch-icon-precomposed hrefhttps://psstatic.cdn.bcebos.com/video/wiseindex/aa6eef91f8b5b1a33b454c401_1660835115000.pngtitle百度一下你就知道/title 四: 直接使用Get(url)函数发送请求
Client类型包含get方法,get方法时对Do方法的封装,使用get方法可以快速发起一个get请求;
http包中也有一个叫GET的方法,底层就是调用Client的GET方法 package mainimport (fmtio/ioutilnet/http
)/*
Client类型包含get方法,get方法时对Do方法的封装,使用get方法可以快速发起一个get请求;
http包中也有一个叫GET的方法,底层就是调用Client的GET方法
*/
func main() {// http.Get实际上是DefaultClient.Get(url)Get函数是高度封装的,只有一个参数Url// 对于一般的http Request是可以使用但是不能定制Requestresponse, err : http.Get(http://www.baidu.com)if err ! nil {fmt.Println(err)}defer response.Body.Close()body, _ : ioutil.ReadAll(response.Body)fmt.Println(string(body))}运行效果 GOROOTD:\program_file_worker\go1.20 #gosetup GOPATHD:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerUseGetMethodToSendRequest_go.exe D:\program_file\go_workspace\org.jd.data\http\OOPHttpServerUseGetMethodToSendRequest.go #gosetup C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerUseGetMethodToSendRequest_go.exe !DOCTYPE html!--STATUS OK--htmlheadmeta http-equivContent-Type contenttext/html;charsetutf-8meta http-equivX-UA-Compatible contentIEedge,chrome1meta contentalways namereferrermeta nametheme-color content#ffffffmeta namedescription content全球领先的中文搜索引擎、致力于让网民更便捷地获取信息找到所求。百度超过千亿的中文网页数据库可以瞬间找到相关的搜索结果。link relshortcut icon hrefhttps://warch typeapplication/opensearchdescriptionxml href/content-search.xml title百度搜索 /link relicon sizesany mask hrefhttps://www.baidu.com/favicon.icolink reldns-prefetch href//dss0.bdstatic.com/ reldns-prefetch href//dss1.bdstatic.com/link reldns-prefetch href//ss1.bdstatic.com/link reldns-prefetch href//sp0.baidu.com/link reldns-prefetch href//sp1.baidu.com/link reldns-prefetch href//sp2.baidu.com/ 五: Post()携带数据发送请求 post发送web请求Post向指定的URL发送一个post请求,bodyType为post数据的类型,body为post数据,作为请求主体。如果参数body实现了io.Close接口,它会在请求后被关闭,调用者有责任读取完返回值resp的主体后关闭它,该方法时对Client的POST方法的封装 package mainimport (fmtio/ioutilnet/httpstrings
)/*
post发送web请求Post向指定的URL发送一个post请求,bodyType为post数据的类型,body为post数据,作为请求主体。如果参数body实现了io.Close接口,它会在请求后被关闭,调用者有责任读取完返回值resp的主体后关闭它,该方法时对Client的POST方法的封装
*/
func main() {resp, err : http.Post(https://blog.csdn.net/u014396256/article/details/84645350,application/x-www-form-urlencoded,strings.NewReader(useradminpassadmin))if err ! nil {fmt.Println(err)}defer resp.Body.Close()body, err : ioutil.ReadAll(resp.Body)if err ! nil {fmt.Println(err)}fmt.Println(string(body))}运行效果 GOROOTD:\program_file_worker\go1.20 #gosetup GOPATHD:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerPostToWebRequest_go.exe D:\program_file\go_workspace\org.jd.data\http\OOPHttpServerPostToWebRequest.go #gosetup C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerPostToWebRequest_go.exe !DOCTYPE html html langzh-CN head meta charsetutf-8 link relcanonical hrefhttps://blog.csdn.net/u014396256/article/details/84645350/ meta http-equivcontent-type contenttext/html; charsetutf-8 meta namerenderer contentwebkit/ meta nameforce-rendering contentwebkit/ meta http-equivX-UA-Compatible contentIEedge,chrome1/ meta nameviewport contentwidthdevice-width, initial-scale1.0, minimum-scale1.0, maximum-scale1.0, user-scalableno meta namereport content{spm:1001.2101,extra:{titAb:t_1,lvab:t_1},pid:blog} meta namereferrer contentalways meta http-equivCache-Control contentno-siteapp /link relalternate mediahandheld href# / meta nameshenma-site-verification content5a59773ab8077d4a62bf469ab966a63b_1497598848 meta nameapplicable-device contentpc link hrefhttps://g.csdnimg.cn/static/logo/favicon32.ico relshortcut icon typeimage/x-icon / title解决ResponseBody注解返回中文乱码_responsebody返回中文乱码-CSDN博客/title script (function(){ var el document.createElement(script); el.src https://s3a.pstatp.com/toutiao/push.js?1abfa13dfe74d72d41d83c86d240de427e7cac50c51ead53b2e79d40c7952a23ed7716d05b4a0f683a653eab3e214672511de2457e74e99286eb2c33f4428830; el.id ttzz; var s document.getElementsByTagName(script)[0]; s.parentNode.insertBefore(el, s); })(window) /script meta namekeywords contentresponsebody返回中文乱码 meta namecsdn-baidu-search content{autorun:true,install:true,keyword:responsebody返回中文乱码} meta namedescription content用ResponseBody注解返回字符串时发现返回页面上的中文是乱码这个问题 是由于 spring mvc 使用了StringHttpMessageConverter 来看一下这个类public class StringHttpMessageConverter extends AbstractHttpMessageConverteramp;lt;Stringamp;gt; { publ..._responsebody返回中文乱码 {context:https://ziyuan.baidu.com/contexts/cambrian.jsonld,id:https://blog.csdn.net/u014396256/article/details/84645350,appid:1638831770136827,pubDate:2018-11-30T11:02:20,title:解决ResponseBody注解返回中文乱码_responsebody返回中文乱码-CSDN博客,upDate:2018-11-30T11:02:20}/script link relstylesheet typetext/css hrefhttps://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin-yellow/skin-yellow-28d34ab5fa.min.css script srchttps://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js typetext/javascript/script script typetext/javascript var isCorporate false;//注释删除enterprise var articleTitle 解决ResponseBody注解返回中文乱码; var articleDesc 用ResponseBody注解返回字符串时发现返回页面上的中文是乱码这个问题 是由于 spring mvc 使用了StringHttpMessageConverter 来看一下这个类public class StringHttpMessageConverter extends AbstractHttpMessageConverteramp;lt;Stringamp;gt; { publ..._responsebody返回中文乱码; var articleTitles 解决ResponseBody注解返回中文乱码_responsebody返回中文乱码-CSDN博客; var nickName 栋栋哥哥; var articleDetailUrl https://blog.csdn.net/u014396256/article/details/84645350; if(window.location.host.split(.).length 3) { blog_address blogUrl username; link relstylesheet hrefhttps://csdnimg.cn/release/blogv2/dist/pc/css/blog_code-01256533b5.min.css link relstylesheet hrefhttps://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/chart-3456820cac.css / 六: PostForm()携带数据发送请求 除了Post携带参数发送请求外,还可以使用PostForm(url string,data url.Values)函数封装请求数据,向服务器发送请求;
该方法是对Client的PostForm方法的包装 package mainimport (fmtio/ioutilnet/httpnet/url
)/*
除了Post携带参数发送请求外,还可以使用PostForm(url string,data url.Values)函数封装请求数据,向服务器发送请求;
该方法是对Client的PostForm方法的包装
*/
func main() {resp, err : http.PostForm(https://blog.csdn.net/u014396256/article/details/84645350,url.Values{user: {admin}, password: {admin}})if err ! nil {fmt.Println(err)}defer resp.Body.Close()readBytes, err : ioutil.ReadAll(resp.Body)if err ! nil {fmt.Println(err)}fmt.Println(string(readBytes))}运行效果 GOROOTD:\program_file_worker\go1.20 #gosetup GOPATHD:\program_file_worker\go1.20\bin;C:\Users\Administrator\go #gosetup D:\program_file_worker\go1.20\bin\go.exe build -o C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerPostFormToWebRequest_go.exe D:\program_file\go_workspace\org.jd.data\http\OOPHttpServerPostFormToWebRequest.go #gosetup C:\Users\Administrator\AppData\Local\Temp\GoLand\___go_build_OOPHttpServerPostFormToWebRequest_go.exe !DOCTYPE html html langzh-CN head meta charsetutf-8 link relcanonical hrefhttps://blog.csdn.net/u014396256/article/details/84645350/ meta http-equivcontent-type contenttext/html; charsetutf-8 meta namerenderer contentwebkit/ meta nameforce-rendering contentwebkit/ meta http-equivX-UA-Compatible contentIEedge,chrome1/ meta nameviewport contentwidthdevice-width, initial-scale1.0, minimum-scale1.0, maximum-scale1.0, user-scalableno meta namereport content{spm:1001.2101,extra:{titAb:t_1,lvab:t_1},pid:blog} meta namereferrer contentalways meta http-equivCache-Control contentno-siteapp /link relalternate mediahandheld href# / meta nameshenma-site-verification content5a59773ab8077d4a62bf469ab966a63b_1497598848 meta nameapplicable-device contentpc link hrefhttps://g.csdnimg.cn/static/logo/favicon32.ico relshortcut icon typeimage/x-icon / title解决ResponseBody注解返回中文乱码_responsebody返回中文乱码-CSDN博客/title script (function(){ var el document.createElement(script); el.src https://s3a.pstatp.com/toutiao/push.js?1abfa13dfe74d72d41d83c86d240de427e7cac50c51ead53b2e79d40c7952a23ed7716d05b4a0f683a653eab3e214672511de2457e74e99286eb2c33f4428830; el.id ttzz; var s document.getElementsByTagName(script)[0]; s.parentNode.insertBefore(el, s); })(window) /script meta namekeywords contentresponsebody返回中文乱码 meta namecsdn-baidu-search content{autorun:true,install:true,keyword:responsebody返回中文乱码} meta namedescription content用ResponseBody注解返回字符串时发现返回页面上的中文是乱码这个问题 是由于 spring mvc 使用了StringHttpMessageConverter 来看一下这个类public class StringHttpMessageConverter extends AbstractHttpMessageConverteramp;lt;Stringamp;gt; { publ..._responsebody返回中文乱码 link relstylesheet typetext/css hrefhttps://csdnimg.cn/release/blogv2/dist/pc/css/detail_enter-3ed6edfc90.min.css style {context:https://ziyuan.baidu.com/contexts/cambrian.jsonld,id:https://blog.csdn.net/u014396256/article/details/84645350,appid:1638831770136827,pubDate:2018-11-30T11:02:20,title:解决ResponseBody注解返回中文乱码_responsebody返回中文乱码-CSDN博客,upDate:2018-11-30T11:02:20}/script link relstylesheet typetext/css hrefhttps://csdnimg.cn/release/blogv2/dist/pc/themesSkin/skin-yellow/skin-yellow-28d34ab5fa.min.css script srchttps://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js typetext/javascript/script script typetext/javascript var isCorporate false;//注释删除enterprise var username u014396256; var skinImg white; var blog_address https://blog.csdn.net/u014396256; var currentUserName ; var isOwner false; var loginUrl http://passport.csdn.net/account/login?fromhttps://blog.csdn.net/u014396256/article/details/84645350; var blogUrl https://blog.csdn.net/; var avatar https://profile-avatar.csdnimg.cn/cf1b806fc8104885bf468699791fde76_u014396256.jpg!1; var articleTitle 解决ResponseBody注解返回中文乱码; var articleDesc 用ResponseBody注解返回字符串时发现返回页面上的中文是乱码这个问题 是由于 spring mvc 使用了StringHttpMessageConverter 来看一下这个类public class StringHttpMessageConverter extends AbstractHttpMessageConverteramp;lt;Stringamp;gt; { publ..._responsebody返回中文乱码; var articleTitles 解决ResponseBody注解返回中文乱码_responsebody返回中文乱码-CSDN博客; var nickName 栋栋哥哥; var articleDetailUrl https://blog.csdn.net/u014396256/article/details/84645350; if(window.location.host.split(.).length 3) { blog_address blogUrl username; } /head body classnodata style div idtoolbarBox stylemin-height: 48px;/div script var toolbarSearchExt {landingWord:[responsebody返回中文乱码],queryWord:,tag:[],title:解决ResponseBody注解返回中文乱码}; /script script srchttps://g.csdnimg.cn/common/csdn-toolbar/csdn-toolbar.js typetext/javascript/script 忙着去耍帅,后期补充完整............
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82582.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!