annotate src/httpsv/client.go @ 33:90659c7171ed

add magicpacket.go
author pyon@macmini
date Tue, 13 Aug 2019 19:55:10 +0900
parents 54a75ff1c288
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
1 package main
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
2
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
3 import (
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
4 "fmt"
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
5 "io/ioutil"
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
6 "net/http"
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
7 )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
8
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
9 func main() {
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
10 ch := make( chan string )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
11 var urls []string
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
12 urls = append( urls, "http://yahoo.com" )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
13 urls = append( urls, "http://yahoo.co.jp" )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
14
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
15 for _, url := range urls {
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
16 go fetch( url, ch )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
17 }
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
18 for range urls {
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
19 fmt.Println( <-ch )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
20 }
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
21 }
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
22
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
23 func fetch( url string, ch chan <- string ) {
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
24 resp, err := http.Get( url )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
25 if err != nil {
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
26 ch <- fmt.Sprint( err )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
27 return
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
28 }
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
29 b, err := ioutil.ReadAll( resp.Body )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
30 resp.Body.Close()
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
31 if err != nil {
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
32 ch <- fmt.Sprint( err )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
33 return
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
34 }
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
35 ch <- fmt.Sprintf( "%s", b )
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
36 }
54a75ff1c288 New: client.go
pyon@macmini
parents:
diff changeset
37