go get 请求获取http body

来源:互联网 发布:如何关闭windows shell 编辑:程序博客网 时间:2024/06/06 09:57

package mainimport ("fmt""io/ioutil""net/http""os")func main() {arg0 := os.Args[0:]arg1 := os.Args[1:]arg2 := os.Args[2:]fmt.Println(arg0);fmt.Println(arg1);fmt.Print("\n")fmt.Println(arg2);for _, url := range os.Args[1:] {resp, err := http.Get(url)if err != nil {fmt.Fprintf(os.Stderr, "fetch: %v\n", err)os.Exit(1)}b, err := ioutil.ReadAll(resp.Body)resp.Body.Close()if err != nil {fmt.Fprintf(os.Stderr, "fetch: reading %s: %v\n", url, err)os.Exit(1)}fmt.Printf("%s", b)}}

package mainimport ("fmt"//"io/ioutil""net/http""os""io")func main() {arg0 := os.Args[0:]arg1 := os.Args[1:]arg2 := os.Args[2:]fmt.Println(arg0);fmt.Println(arg1);fmt.Print("\n")fmt.Println(arg2);for _, url := range os.Args[1:] {resp, err := http.Get(url)if err != nil {fmt.Fprintf(os.Stderr, "fetch: %v\n", err)os.Exit(1)}//b, err := ioutil.ReadAll(resp.Body)io.Copy(os.Stdout, resp.Body)resp.Body.Close()if err != nil {fmt.Fprintf(os.Stderr, "fetch: reading %s: %v\n", url, err)os.Exit(1)}//fmt.Printf("%s", b)}}

package mainimport ("fmt"//"io/ioutil"//"net/http""os"//"io")func main() {arg0 := os.Args[0:]arg1 := os.Args[1:]arg2 := os.Args[2:]fmt.Println(arg0);fmt.Println(arg1);fmt.Print("\n")fmt.Println(arg2);for _, url := range os.Args[1:] {fmt.Printf("url->: %s\n", url)}}

package mainimport ("fmt"//"io/ioutil"//"net/http""os"//"io")func main() {arg0 := os.Args[0:]arg1 := os.Args[1:]arg2 := os.Args[2:]fmt.Println(arg0);fmt.Println(arg1);fmt.Print("\n")fmt.Println(arg2);for _, url := range os.Args[1:] {fmt.Printf("url->: %s\n", url)}//ch := make(chan string)for range os.Args[1:] {fmt.Println("This \n")}}

//fetchall fetches URLs in parallel and reports their times and sizespackage mainimport ("fmt""io""io/ioutil""net/http""os""time")func main() {start := time.Now()ch := make(chan string)for _, url := range os.Args[1:] {go fetch(url, ch)//start a goroutine}for range os.Args[1:] {fmt.Println(<-ch)}fmt.Printf("%.2fs elapsed\n", time.Since(start).Seconds())}func fetch(url string, ch chan<- string) {start := time.Now()resp, err := http.Get(url)if err != nil {ch <- fmt.Sprint(err)//send to channel chreturn}nbytes, err := io.Copy(ioutil.Discard, resp.Body)resp.Body.Close() //don not leak resouresif err != nil {ch <- fmt.Sprintf("while reading %s: %v", url, err)return}secs := time.Since(start).Seconds()ch <- fmt.Sprintf("%.2fs %7d %s", secs, nbytes, url)}


0 0
原创粉丝点击