Basic HTTP client sample
This commit is contained in:
committed by
Mark McGranaghan
parent
d351883ab8
commit
dfcaebd536
37
examples/http-clients/http-clients.go
Normal file
37
examples/http-clients/http-clients.go
Normal 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)
|
||||
}
|
||||
}
|
||||
2
examples/http-clients/http-clients.hash
Normal file
2
examples/http-clients/http-clients.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
afac2191f24a0861384d142ab58cc262fc47cfbf
|
||||
Y92yCu1CIrI
|
||||
7
examples/http-clients/http-clients.sh
Normal file
7
examples/http-clients/http-clients.sh
Normal 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>
|
||||
Reference in New Issue
Block a user