func justRun(userinfo userInfo) bool {
r, _ := http.Get("http://localhost:8080/?imeicode=" + userinfo.ImeiCode)
var w []byte
if r != nil {
w, _ = ioutil.ReadAll(r.Body)
_ = r.Body.Close()
} else {
time.Sleep(5 * time.Second)
if r != nil {
w, _ = ioutil.ReadAll(r.Body)
_ = r.Body.Close()
} else {
r, _ := http.Get("http://localhost:8080/?imeicode=" + userinfo.ImeiCode)
time.Sleep(5 * time.Second)
if r != nil {
w, _ = ioutil.ReadAll(r.Body)
_ = r.Body.Close()
}
}
}
if len(w) == 4 {
return true
} else {
return false
}
}
看了源码发现 Get 调用的 NewRequest 方法
但是小白表示没发现什么异常呀 晕了
这个 get 请求的地址是同服务器的 代码如下
func handle(w http.ResponseWriter, r *http.Request) {
defer r.Body.Close()
_ = r.ParseForm()
if runCode(r.Form["imeicode"][0]) {
_, _ = Fprint(w, "true")
} else {
_, _ = Fprint(w, "false")
}
}
runCode 的执行时间大概在 1s 以内 不会超过 2 秒
返回值也是 bool 型
还有一直没搞懂的是 r.Body.Close()这个到底是干啥用的
因为服务端调用这个之后 朝着 w 写东西 客户端也能收到
客户端调用这个之后 貌似什么都不会发生?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.