Basic HTTP client sample

This commit is contained in:
Eli Bendersky
2019-05-31 06:06:13 -07:00
committed by Mark McGranaghan
parent d351883ab8
commit dfcaebd536
7 changed files with 207 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
// The Go standard library comes with excellent support
// for HTTP clients and servers out of the box with the
// `net/http` package. In this example we'll use it to
// issue simple HTTP requests.
package main
import (
"bufio"
"fmt"
"net/http"
)
func main() {
// Issue a HTTP GET request to a server. http.Get is a
// convenient shortcut around creating a http.Client
// object and calling its Get() method; it uses the
// http.DefaultClient object which has useful default
// settings.
resp, err := http.Get("http://gobyexample.com")
if err != nil {
panic(err)
}
defer resp.Body.Close()
// Print the HTTP response status.
fmt.Println("Response status:", resp.Status)
// Print the first 5 lines of the response body.
scanner := bufio.NewScanner(resp.Body)
for i := 0; scanner.Scan() && i < 5; i++ {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
panic(err)
}
}

View File

@@ -0,0 +1,2 @@
afac2191f24a0861384d142ab58cc262fc47cfbf
Y92yCu1CIrI

View File

@@ -0,0 +1,7 @@
$ go run http-clients.go
Response status: 200 OK
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Go by Example</title>